Sebagian besar bahasa pemrograman menggunakan array untuk menyimpan satu set data dengan tipe yang sama. Salah satu kelemahan utama array adalah, begitu ukuran array dideklarasikan, array 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 hirarki koleksi. Antarmuka dasar untuk antarmuka lain adalah Collection. Itu perbedaan utama antara List dan Set adalah itu Daftar mendukung menyimpan elemen yang sama beberapa kali sementara Set tidak mendukung menyimpan elemen yang sama beberapa kali. Oleh karena itu, Perangkat tidak memungkinkan duplikasi.
1. Ikhtisar dan Perbedaan Utama
2. Apa itu Daftar
3. Apa yang Diatur
4. Kesamaan Antara Daftar dan Set
5. Perbandingan Berdampingan - Daftar vs Diatur dalam Bentuk Tabular
6. Ringkasan
Daftar ini adalah antarmuka yang memperluas antarmuka Koleksi. Ada sejumlah metode dalam antarmuka Koleksi. Metode add membantu menambah elemen. 'Metode hapus' adalah untuk menghapus elemen. Ada 'metode addAll' untuk menambahkan beberapa elemen sementara 'metode removeAll' untuk menghapus elemen dari koleksi. Metode berisi membantu untuk menemukan apakah objek tertentu hadir dalam Daftar atau tidak. The 'berisi semua' adalah untuk menemukan apakah satu set objek hadir dalam koleksi. Metode iterator digunakan untuk mengulang item-item dari daftar. Saat Daftar memperluas Koleksi, semua metode Koleksi milik Daftar. Selain metode-metode itu, Daftar memiliki metode seperti get and set. Programmer bisa mendapatkan nilai pada indeks tertentu menggunakan metode get. Programmer dapat menetapkan nilai pada indeks tertentu menggunakan metode set. 'IndexOf' digunakan untuk menemukan indeks suatu elemen.
Dalam Daftar, operasi dapat dilakukan sesuai dengan posisi. Programmer dapat menyediakan elemen data yang akan ditambahkan ke indeks. Jadi itu akan ditambahkan ke indeks spesifik. Jika pemrogram 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 sebelum elemen2.
Gambar 01: Daftar dan Set
ArrayList, LinkedList, Vector adalah beberapa kelas yang mengimplementasikan Daftar. Di ArrayList, mengakses elemen lebih cepat tetapi memasukkan dan menghapus lebih rendah. ArrayList tidak aman untuk thread. Mengakses ArrayList yang sama dari banyak utas mungkin tidak memberikan hasil yang sama. Dalam LinkedList, elemen-elemen tersebut 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-tapak karena semua metode disinkronkan.
Set adalah antarmuka yang memperluas antarmuka Koleksi. Sebagai Set antarmuka memperluas Koleksi, semua metode Koleksi juga milik Set. Set tidak mendukung nilai duplikasi. Oleh karena itu, programmer tidak dapat menyimpan elemen yang sama dua kali. Ia memelihara serangkaian elemen yang unik. Antarmuka SortedSet memperluas Set interface. SortedSet mempertahankan elemen dalam urutan yang diurutkan. Antarmuka NavigableSet memperluas SortedSet. NavigableSet menyediakan metode navigasi seperti lantai bawah, lantai, langit-langit dll.
HashSet, LinkedHashSet, dan TreeSet adalah beberapa kelas yang mengimplementasikan antarmuka Set. Itu HashSet mengimplementasikan Set interface. Itu tidak mempertahankan urutan yang dimasukkan. Jika nilainya dimasukkan sebagai, x, b itu mungkin menyimpan sebagai, x, a, b. Itu LinkedSet mempertahankan urutan yang dimasukkan. Jika elemen dimasukkan dalam urutan a, x, b, urutan penyimpanan adalah a, x, b. Itu TreeSet mengimplementasikan Set dan NavigableSet. Itu tidak mempertahankan urutan penyisipan tetapi menyimpan elemen dalam urutan yang diurutkan. Jika urutan yang dimasukkan adalah a, c, b, maka elemen akan disimpan sebagai a, b, c. Semua HashSet, LinkedHashSet dan TreeSet tidak akan memiliki elemen duplikat.
Daftar vs Set | |
Daftar Antarmuka adalah sub antarmuka Koleksi yang berisi metode untuk melakukan operasi seperti memasukkan, menghapus berdasarkan indeks. | Set Antarmuka adalah sub antarmuka Koleksi yang berisi metode untuk melakukan operasi seperti memasukkan, 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 Set interface. |
Duplikasi Elemen | |
Daftar mendukung duplikasi elemen. | Set tidak mendukung duplikasi elemen. Elemen-elemennya unik. |
Koleksi digunakan untuk menyimpan elemen secara dinamis. Bahasa pemrograman seperti Java menyediakan antarmuka Koleksi. List dan Set adalah dua antarmuka yang dimiliki antarmuka Collection. Kedua antarmuka memperpanjang 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. Atur selalu mempertahankan elemen unik.
1. Point, Tutorial. "Java Collections.", Tutorials Point, 8 Jan 2018. Tersedia di sini