Junior
Java'da hangi koleksiyonlar var?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da, Java Collections Framework'e dahil olan aşağıdaki temel koleksiyon arayüzleri bulunmaktadır:
-
Collection: Nesne grupları üzerinde ortak işlemleri tanımlayan temel arayüzdür. Alt arayüzlere miras verir:List: Sıralı koleksiyon (dizi). Öğeler tekrar edebilir. İndeks erişimini destekler.ArrayList: Dinamik dizi. Hızlı indeks erişimi ve sona ekleme için iyidir. Ortada ekleme/silme yavaş.LinkedList: Çift bağlı liste. Başlangıca veya sona ekleme/silme için iyidir. İndeks erişimi yavaş.Vector:ArrayList'in senkronize edilmiş versiyonu. Eskimiş kabul edilir.Stack:Vector'den miras alır, yığın (LIFO) davranışını uygular.
Set: Sadece benzersiz öğeleri içeren koleksiyon. Sıralamayı garanti etmez.HashSet: Hash tablosu kullanılarak uygulanır. Ekleme, silme ve varlık kontrolü en hızlıdır. Sıralamayı garanti etmez.LinkedHashSet: Hash tablosu + bağlı liste olarak uygulanır. Ekleme sırasını garanti eder.TreeSet: Kırmızı-siyah ağaç kullanılarak uygulanır. Öğeleri sıralı sırayla tutar.HashSet'ten yavaş, ancak aralık arama içinLinkedHashSet'ten daha hızlıdır.
Queue: İşlenmeden önce öğeleri depolamak için tasarlanmış koleksiyon (FIFO - First-In, First-Out).PriorityQueue: Öğeler doğal sıralarına veya karşılaştırıcıya göre saklanır. En yüksek öncelikli öğe çıkarılır.Deque: (Double Ended Queue) Her iki uçtan ekleme ve çıkarma destekler.ArrayDeque: Dizi tabanlı Deque uygulaması. Queue/yığın olarakLinkedList'den daha verimlidir.
-
Map: Anahtar-değer çiftlerini tutan koleksiyon. Anahtarlar benzersizdir.HashMap: Hash tablosu kullanılarak uygulanır. Ekleme, silme ve varlık kontrolü en hızlıdır. Anahtar sırasını garanti etmez.LinkedHashMap: Hash tablosu + bağlı liste olarak uygulanır. Ekleme veya erişim sırasını garanti eder.TreeMap: Kırmızı-siyah ağaç kullanılarak uygulanır. Anahtar sırasına göre sıralanmış anahtar-değer çiftlerini tutar.HashMap'ten daha yavaş, ancak arama aralıkları içinLinkedHashMap'ten daha hızlıdır.HashTable:HashMap'in senkronize edilmiş versiyonu. Eskimiş kabul edilir.
Ayrıca, JCF'ye ait olmayan ancak bazen karşılaşılan eski sınıflar da vardır:
VectorStackHashtableEnumeration(arayüz)