Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Rujukan :
http://tutorials.jenkov.com/java-collections/collection.html
Menambahkan dan Membuang Elemen
Mengabaikan subtipe Collection apa yang sedang kita gunakan, ada beberapa metode standar untuk menambahkan dan menghapus elemen dari suatu Collection. Menambahkan dan menghapus element tunggal dilakukan seperti ini :
String anElement = "an element"; Collection collection = new HashSet(); boolean didCollectionChange = collection.add(anElement); boolean wasElementRemoved = collection.remove(anElement);
add()
menambahkan element yang diberikan ke dalam collection, dan menghasilkan nilai true jika Collection berubah sebagai hasil pemanggilan metode add()
. sebuah Set
sebagai contoh, mungkin tidak berubah. Jika Set
telah berisi elemen tersebut, maka ia tidak akan ditambahkan lagi. Di sisi lain, jika kita memanggil add()
pada sebuah List
dan List
tersebut sudah berisi elemen tersebut, maka elemen tersebut akan muncul dua kali di dalam List
.
remove()
menghapus elemen yang diberikan dan bernilai true jika elemen yang dihapus ada didalam Collection dan dihapuskan. Jika elemen tidak ada, maka metode remove()
akan bernilai false.
Kita dapat menambahkan dan menghapus collection dari objek. Berikut beberapa contohnya :
Set aSet = ... // mendapatkan Set dengan element-element dari suatu tempat List aList = ... // mendapatkan List dengan element-element dari suatu tempat Collection collection = new HashSet(); collection.addAll(aSet); //menghasilkan boolean juga, tetapi diabaikan disini collection.addAll(aList); //menghasilkan boolean juga, tetapi diabaikan disini</pre> collection.removeAll(aList); //menghasilkan boolean juga collection.retainAll(aSet); //menghasilkan boolean juga
addAll()
menambahkan seluruh elemen yang ditemukan ke dalam Collection yang dilewatkan sebagai parameter ke metode. Objek Collection itu sendiri tidak ditambahkan. Hanya elemen-elemennya. Sementara jika kita memanggil add()
dengan Collection, maka objek Collection sendiri akan ditambahkan, bukan elemen-elemennya.
Tepatnya bagaimana metode addAll()
berlaku bergantung pada subtipe Collection. Beberapa subtipe Collection memperkenankan elemen-elemen yang sama untuk ditambahkan lebih dari satu kali, sementara ada pula subtipe yang tidak memperkenankannya.
removeAll()
menghilangkan seluruh elemen yang ditemukan Collection yang dilewatkan sebagai parameter ke metode. Jika parameter Collection berisi elemen apapun tidak ditemukan pada collection target, maka hanya akan diabaikan.
retainAll()
melakukan hal yang berlawanan dengan removeAll()
. Alih-alih menghapus semua elemen yang ditemukan dalam parameter Collection, dia menyimpan seluruh elemen tersebut dan menghapus elemen yang lain. Harus kita ingat, hanya jika elemen sudah terdapat di collection target, maka mereka akan disimpan. Setiap elemen baru yang ditemukan di dalam parameter Collection yang tidak ada di collection target, tidak secara otomatis ditambahkan, hanya akan diabaikan.
Mari lihat contohnya menggunakan beberapa pseudo-language :
Collection colA = [A,B,C] Collection colB = [1,2,3] Collection target = []; target.addAll(colA); //target sekarang berisi [A,B,C] target.addAll(colB); //target sekarang berisi [A,B,C,1,2,3] target.retainAll(colB); //target sekarang berisi [1,2,3] target.removeAll(colA); //tidak ada yang terjadi - karena sudah dihapus target.removeAll(colB); //target sekarang kosong
Leave a Reply