Jobsheet COLLECTION SET Dan MAP
Jobsheet COLLECTION SET Dan MAP
MATERI
A. SET
Set adalah jenis collection yang elemennya unik karena tidak memperbolehkan
adanya elemen yang sama. Salah satu class yang mengimplementasikan interface Set adalah
HashSet. Set mengikuti model himpunan, dimana objek/anggota yang tersimpan dalam Set
harus unik. Pada jenis collection ini, urutan maupun letak dari anggota tidaklah penting,
hanya keberadaan anggota saja yang penting.
HashSet dan TreeSet memiliki persamaan, yaitu menggunakan method add, remove,
dan contains. Perbedaan antara HashSet dan TreeSet sebagai berikut :
HashSet TreeSet
Diimplementasikan menggunakan tabel Diimplementasikan menggunakan struktur
hash pohon
Elemen tidak urut Elemen dalam keadaan terurut
Kompleksitas waktu O(n) Kompleksitas waktu O(log(n))
Seperti halnya list, Set juga dapat menampung beragam tipe data bahkan object.
Perbedaaannya adalah pada Set, data yang pertama dimasukkan belum tentu akan
menempati ruang pertama (Set tidak menjamin urutnya data seperti pada saat inisiasi).
Contoh program sederhana :
Output Program :
Dari output diatas dapat dilihat bahwa urutan yang tersimpan dalam set tidak terurut
berdasarkan urutan pemasukan data. Untuk masukkan yang sama hanya akan tersimpan
satu saja, misalnya pada nama “wasesa Gandhi dwi” diinputkan 2 kali namun yang
tersimpan hanya 1x di outputnya.
B. MAP
Map merupakan collection pasangan key ke value, dimana nilai key-nya unik. Class
yang mengimplementasikan interface Map, antara lain HashMap, HashTable dan TreeMap.
Map hanya bisa menyimpan data secara berpasangan yang terdiri atas key dan value. Nilai
key tidak boleh sama, maka hanya value terakhir yang disimpan. Map dapat dipandang
sebagai collection dengan tiga cara :
Berdasarkan hasil output pada “bunga : Kamboja” tidak muncul karena sudah tertimpa
dengan “bunga : mawar” pada baris program berikutnya.
LATIHAN
Buatlah program dengan treeSet dan amatilah yang terjadi pada output bandingan dengan List,
ArrayList, LinkedList, HashSet dan Map yang telah dilakukan sebelumnya, kemudian screnshoot
hasil program serta outputnya. Dan tuliskan hasil pengamatan anda!