Koleksİyonlar
Koleksiyonlar bir özel nesneler grubunu saklar ve yönetir. Aşağıdaki şekil arayüzleri ve çeşitli türdeki koleksiyonların gerçekleştirilmesini gösterir. Basit olsun diye sadece somut sınıflar ve anahtar arayüzler gösterilmiştir.
Koleksiyonların iki türü vardır: Set ve List. Set ve List şu şekilde farklıdır; List elemanların çift kopyasını içerebilirken Set içeremez. Ayrıca, araya ekleme sırası List için önemliyken, Set için önemli değildir. Üç tane Set gerçekleştirmesi vardır: TreeSet, HashSet, ve LinkedHashSet, ve iki tane List gerçekleştirmesi vardır; LinkedList ve ArrayList. sınıfların isimleri şu biçimdedir <gerçekleştirme><arayüz>, burada gerçekleştirme elemanları tutmak için kullanılan öncelikli veri yapısını gösterir, ve arayüz koleksiyonun türünü gösterir. Gerçekleştirme türlerinin anlamı ve önemi daha sonra anlatılacaktır.
Şekilde görüldüğü gibi, buradaki bütün sınıflar Collection arayüzünü gerçekleştirir. Collection arayüzü şu yöntemleri sağlar:
Yöntem Tanımlama
boolean add(Object o) Koleksiyona o nesnesini ekler ve doğru döndürür. Eğer koleksiyon bu nesneyi zaten içeriyorsa birşey yapmaz ve yanlış döndürür.
boolean addAll(Collection c) Koleksiyona c koleksiyonundaki tüm nesneleri ekler. Eğer herhangi bir nesne eklendiyse doğru döndürür.
void clear() Koleksiyondaki bütün elemanları siler.
boolean equals(Object o) Koleksiyonu belirtilen o nesnesiyle karşılaştırır. Eğer o nesnesi aynı arayüzü (Set veya List) gerçekleştirirse, iki koleksiyonu eşitlik için karşılaştırır. List karşılaştırmalarında araya ekleme sırasının önemli olduğunu ve Set karşılaştırmalarında iki koleksiyonun eşit nesnelere sahip olması gerektiğine dikkat ediniz.
Iterator iterator() Koleksiyondaki nesneler üzerinde bir yineleyici döndürür (yineleyiciler bir sonraki bölümde anlatılacaktır).
boolean contains(Object o) Eğer o nesnesi koleksiyonda içeriliyorsa doğru döndürür.
boolean containsAll(Collection c) Eğer c koleksiyonundaki tüm nesneler bu koleksiyonda içeriliyorsa doğru döndürür.
boolean isEmpty() eğer koleksiyon hiç nesne içermiyorsa doğru döndürür.
boolean remove(Object o) Belirtilen nesneyi koleksiyondan siler. eğer nesne koleksiyonda içerilmiyorsa yanlış döndürür.
boolean removeAll(Collection c) Koleksiyon c deki tüm nesneleri şimdiki koleksiyondan siler. Eğer herhangi bir nesne silinirse doğru döndürür.
boolean retainAll(Collection c) Koleksiyon c de bulunmayan tüm nesneleri şimdiki koleksiyondan siler. Eğer herhangibir nesne silinirse doğru döndürür.
int size() Şimdiki koleksiyondaki nesne sayısını döndürür.
Object[] toArray() Şimdiki koleksiyondaki tüm nesneleri içeren bir dizi döndürür.
Object[] toArray(Object[] a) Dizi a türünden bir dizi döndürür.
Set arayüzü Collection arayüzüne hiçbirşey eklemez. Fakat List arayüzü bazı yöntemleri tanımlar ve dizinlenmiş erişimin olduğu yöntemleri aşırı yükler. Aşağıdaki index (dizin) , 0 ile size()-1 arasında değişir.
Yöntem Tanımlama
boolean add(Object o)
void add(int index, Object o)
Belirtilen nesneyi belirtilen dizin ile listeye ekler. Eğer dizin belirtilmemişse nesneyi listenin sonuna ekler.
boolean addAll(Collection c)
void addAll(int index, Collection c)
Belirtilen listedeki tüm nesneleri belirtilen dizinden başlayarak şimdiki listeye ekler Eğer dizin belirtilmemişse nesneyi listenin sonuna ekler.
Object get(int index) Belirtilen dizindeki nesneyi döndürür.
Object set(int index, Object o) Belirtilen dizindeki nesneyi döndürür ve onu belirtilen nesneyle değiştirir.
int indexOf(Object o)
int lastIndexOf(Object o)
Belirtilen nesnenin ilk/son yerinin dizini döndürür. Eğer nesne listede içerilmiyorsa -1 döndürür.
ListIterator listIterator()
ListIterator listIterator(int index)
Listedeki nesneler üzerinde eğer bildirilmişse pozisyon dizininden başlayarak bir yineleyici döndürür.
List subList(int fromIndex, int toIndex) Belirtilen fromIndex..toIndex-1 dizinleri arasındaki nesneleri içeren bir parça liste döndürür. Döndürülen liste üzerinde yapılan her operasyonun asıl listede de yapıldığına dikkat ediniz. Bu liste üzerindeki operasyon yığınlarını yerine getirmede faydalıdır. (örneğin belirtilen dizinler arasındaki bütün nesnelerin silinmesi gibi).