Apa perbedaan antara Collection
dan List
di Jawa? Kapan saya harus menggunakan yang mana?
java
collections
Truong Ha
sumber
sumber
Jawaban:
Pertama: a
List
adalah aCollection
. Namun, ini adalah spesialisasiCollection
.A
Collection
hanya itu: koleksi barang. Anda dapat menambahkan barang, menghapus barang, beralih di atas barang, dan menanyakan berapa banyak barang di sana.A
List
menambahkan informasi tentang urutan barang yang ditentukan untuknya: Anda bisa mendapatkan elemen di posisi n , Anda dapat menambahkan elemen di posisi n , Anda dapat menghapus elemen di posisi n .Dalam
Collection
Anda tidak dapat melakukan itu: "elemen ke-5 dalam koleksi ini" tidak ditentukan, karena tidak ada urutan yang ditentukan.Ada Koleksi khusus lainnya juga, misalnya
Set
yang menambahkan fitur yang tidak akan pernah mengandung elemen yang sama dua kali.sumber
Collection
adalah antarmuka root ke hierarki java Koleksi.List
adalah salah satu sub antarmuka yang mendefinisikan Koleksi yang diurutkan, sub antarmuka lainnyaQueue
yang biasanya akan menyimpan elemen yang siap diproses (misalnya tumpukan ).Diagram berikut menunjukkan hubungan antara berbagai jenis koleksi java:
sumber
Map
bukanCollection
.API Java adalah yang terbaik untuk menjawab ini
Koleksi
Daftar (Koleksi yang diperluas)
sumber
Daftar dan Set adalah dua subclass dari Koleksi.
Dalam Daftar, data dalam urutan tertentu.
Di Set, itu tidak bisa berisi data yang sama dua kali.
Di Collection, ia hanya menyimpan data tanpa urutan tertentu dan dapat berisi data duplikat.
sumber
Collection adalah antarmuka tingkat tinggi yang mendeskripsikan objek Java yang dapat berisi koleksi objek lain. Tidak terlalu spesifik tentang bagaimana mereka diakses, apakah banyak salinan dari objek yang sama dapat ada dalam koleksi yang sama, atau apakah urutannya penting. Daftar adalah kumpulan objek yang dipesan secara khusus . Jika Anda memasukkan objek ke dalam Daftar dalam urutan tertentu, mereka akan tetap dalam urutan itu.
Dan memutuskan di mana harus menggunakan kedua antarmuka ini jauh lebih penting daripada memutuskan apa implementasi konkret yang Anda gunakan. Ini akan memiliki implikasi untuk kinerja waktu dan ruang program Anda. Misalnya, jika Anda ingin daftar, Anda bisa menggunakan ArrayList atau LinkedList, yang masing-masing akan memiliki implikasi untuk aplikasi. Untuk jenis koleksi lain (misalnya Perangkat), pertimbangan serupa berlaku.
sumber
Koleksi adalah antarmuka Super Daftar sehingga setiap daftar Java juga merupakan contoh koleksi. Koleksi hanya dapat diulang secara berurutan (dan tanpa urutan tertentu) sedangkan Daftar memungkinkan akses ke elemen pada posisi tertentu melalui
get(int index)
metode ini.sumber
Collection adalah antarmuka utama dari hirarki Java Collections dan List (Sequence) adalah salah satu sub interface yang mendefinisikan koleksi yang diurutkan.
sumber