Perbedaan Pola Penggunaan Collection List ,Set, Dan Map Di Java
Collection yaitu salah satu framework ,yang menyediakan arsitektur , untuk memanipulasi dan menyimpan suatu objek. Serta semua operasi yang terkait dengan data , menyerupai dipakai untuk mengurutkan ,mencari , menghapus ,menyortir , dan lain sebagainya.
Collection framework yaitu satu unit obyek , yang menyediakan banyak interface (List, Set , Queue, Deque ,dll) dan juga banyak class (ArrayList, LinkedList ,HashSet , TreeSet , dll).
Pada artikel berguru java kali ini , kita akan berguru mengenal perbedaan pola penggunaan collection list , set ,dan map , di bahasa pemrograman java. Selengkapnya ,berikut mari kita simak lebih lanjut :
1. Pertama-tama kita terlebih dahulu , mengenal hirarki collection , menyerupai pada pola gambar yang ditunjukan di bawah :
Contoh diagram hirarki collection dan map java |
Seperti yang kalian pada pola gambar di atas, yang merupakan diagram hirarki collection dan map.
Jika kita uraikan lebih detail lagi ,sebenarnya akan ada lebih banyak cabang lagi. Namun ,setidaknya gambar di atas ,sedikit sanggup merepresentasikan kalian , mengenal hirarki collection dan map, di bahasa pemrograman java.
2. Karena banyaknya interface atau class , yang ada di dalam hirarki collection. Kaprikornus disini kita hanya akan mengenal 3 bab utama ,yang biasanya digunakan yaitu List , Set , dan Map Berikut selengkapnya :
List :
- Digunakan untuk menyimpan list , atau daftar objek
- Duplikat data atau nilai diijinkan
- Objek tetap teratur
- Element terindeks lewat integer
- Memeriksa element atau item tertentu dalam list , begitu lambat
- Mencari element atau item menurut indeks ,begitu cepat
- Iterasi lewat list atau daftar ,relatif cepat
Contoh Code :
Contoh Code |
Jika kalian ingin menambah atau menghapus element , di simpulan list atau daftar , kalian sanggup gunakan ArrayList.
Jika kalian ingin menambah atau menghapus element di daerah lain , kalian sanggup gunakan LinkedList.
Set :
- Hanya menyimpan data atau nilai yang unik
- Bagus untuk menghapus duplikasi
- Tidak terindeks ,seperti List
- Sangat cepat saat menyelidiki objek tertentu
- Jika kalian ingin memakai objek sendiri , kalian harus mengimplementasi hashcode() dan equals().
Contoh Code :
Contoh Code |
Element di hashset , tidak terurut , dan element di treeset terurut , di natural ordering.
Menggunakan treeset , untuk custom tipe objek , harus mengimplementasi Comparable.
Element di linkedhashset terurut , menurut urutan penambahan.
Map :
- Menggunakan data atau nilai key-value berpasangan
- Seperti halnya mencari tabel
- Nilai key harus unik
- Iterasi nilai atau value map ,sangat lambat
- Map tidak benar-benar dioptimalkan , untuk iterasi
- Jika kalian ingin memakai objek sebagai key , kalian harus mengimplementasi hashcode() dan equals().
Contoh Code :
Contoh Code |
Key di hashmap tidak dalam urutan tertentu , dan sanggup berubah.
Sedangkan key di treemap terurut , di natural ordering. Menggunakan treemap , untuk custom tipe objek , harus mengimplementasi Comparable.
Key di linkedhashmap , terurut menurut urutan penambahan.
EmoticonEmoticon