Java Collections : Collection – Menambahkan dan Membuang Elemen

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 :

[code language=”java”]

String anElement = "an element";
Collection collection = new HashSet();

boolean didCollectionChange = collection.add(anElement);
boolean wasElementRemoved = collection.remove(anElement);

[/code]

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 :

[code language=”java”]

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

[/code]

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 :

[code language=”java”]

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

[/code]

About Reza Ervani 426 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.