Perbedaan Kunci – Daftar vs Set
Sebagian besar bahasa pemrograman menggunakan array untuk menyimpan sekumpulan data dengan tipe yang sama. Salah satu kelemahan utama dari array adalah, setelah ukuran array dideklarasikan, tidak dapat dimodifikasi. Jika programmer ingin menyimpan nilai yang melebihi ukuran array, maka ia harus membuat array baru dan menyalin elemen yang ada ke array baru. Dalam situasi ini, koleksi dapat digunakan. Dimungkinkan untuk menambahkan elemen, menghapus elemen, dan banyak operasi lainnya dengan dukungan koleksi. Ada berbagai jenis koleksi yang tersedia dalam bahasa pemrograman seperti Java. Daftar dan Set adalah antarmuka hierarki koleksi. Antarmuka dasar untuk antarmuka lain adalah Koleksi. Perbedaan utama antara Daftar dan Set adalah bahwa Daftar mendukung penyimpanan elemen yang sama beberapa kali sementara Set tidak mendukung penyimpanan elemen yang sama beberapa kali. Oleh karena itu, Set tidak mengizinkan duplikasi.
Apa itu Daftar?
Daftar adalah antarmuka yang memperluas antarmuka Koleksi. Ada sejumlah metode dalam antarmuka Koleksi. Metode add membantu menambahkan elemen. The 'remove method' adalah untuk menghapus sebuah elemen. Ada 'metode addAll' untuk menambahkan beberapa elemen sementara 'metode removeAll' untuk menghapus elemen dari koleksi. Metode berisi membantu untuk menemukan apakah objek tertentu ada dalam Daftar atau tidak. The 'containsAll' adalah untuk menemukan apakah satu set objek ada dalam koleksi. Metode iterator digunakan untuk mengulang item dari daftar. Saat Daftar memperluas Koleksi, semua metode Koleksi menjadi milik Daftar. Selain metode tersebut, Daftar memiliki metode seperti get dan set. Pemrogram bisa mendapatkan nilai pada indeks tertentu menggunakan metode get. Pemrogram dapat menetapkan nilai pada indeks tertentu menggunakan metode set. 'indexOf' digunakan untuk mencari indeks dari suatu elemen.
Dalam Daftar, operasi dapat dilakukan sesuai dengan posisinya. Programmer dapat menyediakan elemen data yang akan ditambahkan ke indeks. Jadi itu akan ditambahkan ke indeks tertentu. Jika programmer tidak memberikan indeks, elemen akan ditambahkan ke akhir Daftar. Itu juga mempertahankan urutan yang dimasukkan. Jika elemen 1 ditambahkan dan kemudian elemen2 ditambahkan, maka elemen1 akan berada sebelum elemen2.
Gambar 01: Daftar dan Set
ArrayList, LinkedList, Vector adalah beberapa kelas yang mengimplementasikan List. Dalam ArrayList, mengakses elemen cepat tetapi memasukkan dan menghapus lebih rendah. ArrayList tidak aman untuk thread. Mengakses ArrayList yang sama dari beberapa utas mungkin tidak memberikan hasil yang sama. Dalam LinkedList, elemen terhubung ke belakang dan ke depan. Memasukkan dan menghapus elemen menggunakan LinkedList lebih cepat daripada ArrayList. LinkedList mengimplementasikan Daftar dan Antrian Keduanya. Vektor mirip dengan ArrayList, tetapi aman karena semua metode disinkronkan.
Apa yang Ditetapkan?
Set adalah antarmuka yang memperluas antarmuka Koleksi. Saat antarmuka Set memperluas Koleksi, semua metode Koleksi juga termasuk dalam Set. Set tidak mendukung nilai duplikasi. Oleh karena itu, programmer tidak dapat menyimpan elemen yang sama dua kali. Ini mempertahankan satu set elemen yang unik. Antarmuka SortedSet memperluas antarmuka Set. SortedSet mempertahankan elemen dalam urutan yang diurutkan. Antarmuka NavigableSet memperluas SortedSet. NavigableSet menyediakan metode navigasi seperti lower, floor, ceiling dll.
HashSet, LinkedHashSet, dan TreeSet adalah beberapa kelas yang mengimplementasikan antarmuka Set. HashSet mengimplementasikan antarmuka Set. Itu tidak mempertahankan urutan yang dimasukkan. Jika nilai-nilai dimasukkan sebagai a, x, b mungkin menyimpan sebagai, x, a, b. LinkedSet mempertahankan urutan yang dimasukkan. Jika elemen-elemen tersebut dimasukkan ke dalam orde a, x, b, maka orde penyimpanannya adalah a, x, b. TreeSet mengimplementasikan Set dan NavigableSet. Itu tidak mempertahankan urutan penyisipan tetapi menyimpan elemen dalam urutan yang diurutkan. Jika orde yang disisipkan adalah a, c, b, maka elemen-elemen tersebut akan disimpan sebagai a, b, c. Semua HashSet, LinkedHashSet dan TreeSet tidak akan memiliki elemen duplikat.
Apa Persamaan Antara Daftar dan Himpunan?
- Baik antarmuka Daftar dan Set memperluas antarmuka Koleksi.
- Baik Daftar dan Set mendukung operasi seperti menambahkan, menghapus elemen.
Apa Perbedaan Antara Daftar dan Himpunan?
Daftar vs Set |
|
List Antarmuka adalah sub-antarmuka dari Koleksi yang berisi metode untuk melakukan operasi seperti menyisipkan, menghapus berdasarkan indeks. | Set Antarmuka adalah sub antarmuka Koleksi yang berisi metode untuk melakukan operasi seperti menyisipkan, menghapus elemen sambil mempertahankan elemen unik. |
Kelas | |
ArrayList, Vector, dan LinkedList adalah kelas yang mengimplementasikan antarmuka Daftar. | HashSet, LinkedHashSet, dan TreeSet adalah kelas yang mengimplementasikan antarmuka Set. |
Duplikasi Elemen | |
Daftar mendukung duplikasi elemen. | Set tidak mendukung duplikasi elemen. Elemennya unik. |
Ringkasan – Daftar vs Set
Koleksi digunakan untuk menyimpan elemen secara dinamis. Bahasa pemrograman seperti Java menyediakan antarmuka Koleksi. Daftar dan Set adalah dua antarmuka yang termasuk dalam antarmuka Koleksi. Kedua antarmuka memperluas Koleksi. Artikel ini membahas perbedaan antara Daftar dan Set. Perbedaan utama antara Daftar dan Set adalah bahwa Daftar mendukung penyimpanan elemen yang sama beberapa kali sementara Set tidak mendukung penyimpanan elemen yang sama beberapa kali. Set selalu mempertahankan elemen unik.