Java Collections : Collections – Sub Type Collection

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Rujukan :

http://tutorials.jenkov.com/java-collections/collection.html

Interface Collection (java.util.Collection) adalah satu dari interface root pada class Java collection. Meskipun kita tidak menginstansiasi suatu Collection secara langsung, tetapi menggunakan subtipe Collection, kita dapat memperlakukan subtipe secara seragam sebagai suatu Collection. Akan dijelaskan disini.

Subtipe Collection

Interface berikut ini (type Collection) merupakan pelebaran/extends dari interface Collection :

  • List
  • Set
  • SortedSet
  • NavigableSet
  • Queue
  • Deque

Java tidak menyertai suatu implementasi yang dapat dipakai untuk interface Collection, sehingga kita akan harus menggunakan satu dari subtipe dalam daftar diatas. Interface Collection hanya mendefinisikan serangkaian metode (perilaku) yang dibagi oleh masing-masing subtipe Collection. Ini membuatnya mungkin untuk mengabaikan tipe Collection spesifik apa yang kita gunakan, dan hanya memperlakukannya sebagai suatu Collection. Ini adalah inheritance standar, sehingga tidak ada yang ajaib tentangnya, tetapi dia tetap dapat menjadi fitur yang bagus dari waktu ke waktu. Kita akan lihat di bagian berikutnya penggunaanya yang paling sering pada operasi umum ini

Berikut contoh suatu metode yang beroperasi pada suatu Collection :

[code language=”java”]

public class MyCollectionUtil{

public static void doSomething(Collection collection) {

Iterator iterator = collection.iterator();
while(iterator.hasNext()){
Object object = iterator.next();

//do something to object here…
}
}
}

[/code]

Dan ini adalah beberapa cara untuk memanggil metode tersebut dengan subtipe Collection yang berbeda-beda :

[code language=”java”]

Set set = new HashSet();
List list = new ArrayList();

MyCollectionUtil.doSomething(set);
MyCollectionUtil.doSomething(list);

[/code]

About Reza Ervani 425 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.