İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Collection'lara Genel Bakış

Temel Collection Interface'leri

Collection'lar temel olarak Collection interface'inden oluşur. Bütün collection'larda olan ortak method'lar bu interface'sinde tanımlanmıştır. Collection'u List ve Set interface'leri extends eder.

List

List, belli bir sıra takip eden ve index'le erişimi destekleyen, 'liste' şeklindeki nesne gruplarını temsil eden collection'dur. ArrayList ve Vector class'ları List'i implement eder. (Vector ve ArrayList birer List'tir.) List interface'ini implement eden, elemanlarına son-giren-ilk-çıkar (LIFO) şeklinde erişim sağlayan Stack adlı bir class da bulunmaktadır.

Set

Set tipindeki collection'lar belli bir sıra takip etmeyen ve aynı elemanın tekrar etmediği, 'küme' biçimindeki veri gruplarını temsil eder. Set'lere örnek olarak HashSet verilebilir. Ayrıca TreeSet adında, elemanlarını sıralı saklayan bir başka set daha bulunmaktadır.

Map

List ve Set'ten başka Map adında collection'u extend etmeyen, içerisinde biri anahtarlar ve biri de değerler olmak üzere iki collection barındıran bir interaface bulunur. Map'ler değerlere anahtarlarla erişim sağlamak için kullanılır. Bu tipteki collection'lara örnek olarak da HashMap ve Hashtable verilebilir. TreeMap adında, anahtarlarını sıralı saklayan bir Map implementasyonu da bulunmaktadır.

Collection Algoritmalar'ı : Collections & Arrays Class'ları

Collection'lar üzerinde çeşitli algoritmalar, yani çeşitli işlevler gören methodlar tanımlanmıştır. Bunların arasında sıralama (sorting), dağıtma (shuffling, sırasız hale getirme), arama (searching), en büyük ve en küçük değerleri (min & max), kopyalama (copy), tersine çevirme (reverse), döndürme (rotate), bir değerle doldurma (fill) gibi işlevler sayılabilir. Collection'larla ilgili algoritmalara ait method'lar (diğer bir çok methodla birlikte) Collections class'ında bulunur.

Collection'lar üzerinde tanımılı algoritmalar ve çeşitli methodlar'ı, Collections class'ına benzer bir biçimde ancak collection'lar yerine diziler üzerinde uygulayan Arrays adlı bir class bulunmaktadır.

Çeşitli Kolaylık Method'ları

Collection'larla çalışmayı kolaylaştırmak için çeşitli methodlar yazılmıştır. Diziyi List tipi collection'a çevirmek için Arrays.asList() methodu bulunmaktadır. Collection'da buna karşılık Collection.toArray() method'ları vardır. Her elemanı aynı değerden oluşan bir Collection yaratmak için Collections.nCopies() methodu, tek elemanlı bir küme oluşturmak için Collections.singleton() methodu bulunur. Collections class'ında boş küme ve boş list için sırasıyla Collections.EMPTY_SET ve Collections.EMPTY_LIST sabitleri bulunur.

Senkronize ve Değişmez Collectionlar

Collections class'ı synchronized...() şeklinde, verilen collection'u synchronized yapan bir çok method içerir. Örneğin Collections.synchronizedMap() verilen Map'i senkronize eder. Synchronized yapılan collection birden fazla thread'in erişiminde uyumsuzluk problemlerini giderir.

Collections class'ında unmodifiable...() şeklinde, verilen collection'u unmodifiable (değişmez) yapan methodlar bulunur. Bu şeklide collection'lara erişim salt okunur (read-only) olur. Örnek : Collections.unmodifiableList()

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır