Sobes.tech
Middle

Java'da koleksiyonlar çerçevesinin yapısı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java Koleksiyon Framework'ü, arayüzler ve sınıflar temelinde hiyerarşik bir yapıya sahiptir. Temel öğeler:

  • Üst düzey arayüzler:
    • Collection: Tüm koleksiyonlar için temel arayüz. Öğelerle çalışma için ortak metodlar tanımlar (ekleme, silme, varlığını kontrol etme vb.).
    • Map: Anahtarlar ve değerler arasında eşleme temsil eder. Collection'ın alt tipi değildir.
  • Collection'ı genişleten arayüzler:
    • List: Sıralı koleksiyon. Çiftleri izin verir ve öğelere indeksle erişim sağlar.
    • Set: Çift içermeyen koleksiyon. Belirli bir öğe sırasını garanti etmez.
    • Queue: İşlemden önce öğeleri depolamak için tasarlanmış koleksiyon. Genellikle FIFO (ilk giren ilk çıkar) ilkesini takip eder.
    • Deque: Çift uçlu kuyruk. Başlangıç ve sondan öğeler ekleyip çıkarabilir.
  • En sık kullanılan uygulamalar:
Arayüz Sık kullanılan uygulamalar Özellikler
List ArrayList, LinkedList, Vector ArrayList - dinamik dizi, indeksle hızlı erişim. LinkedList - çift bağlı liste, başlangıç ve sonunda hızlı ekleme/silme. Vector - senkronize edilmiş ArrayList.
Set HashSet, LinkedHashSet, TreeSet HashSet - öğeleri bir karma tablosunda tutar, hızlı arama/ekleme/silme. LinkedHashSet - HashSet gibi, ancak ekleme sırasını korur. TreeSet - öğeleri sıralı sırayla tutar (kırmızı-siyah ağaç).
Queue LinkedList, ArrayDeque, PriorityQueue LinkedList - kuyruk olarak kullanılabilir. ArrayDeque - verimli Deque uygulaması, kuyruk veya yığın olarak kullanılabilir. PriorityQueue - öğeler önceliğe göre işlenir.
Deque ArrayDeque, LinkedList ArrayDeque - yığın/kuyruk olarak kullanım için tercih edilir. LinkedList - Deque olarak kullanılabilir.
  • Map'ı genişleten arayüzler:
    • SortedMap: Anahtarlar doğal sıralama veya karşılaştırıcı kullanılarak sıralanmış harita.
    • NavigableMap: SortedMap'ı genişletir ve kayıtlar arasında gezinmek için metodlar sağlar (örneğin, en yakın kaydı alma).
  • En sık kullanılan Map arayüzü uygulamaları:
Arayüz Sık kullanılan uygulamalar Özellikler
Map HashMap, LinkedHashMap, TreeMap, Hashtable HashMap - kayıtları bir karma tablosunda tutar, hızlı işlemler. LinkedHashMap - HashMap gibi, ancak ekleme sırasını korur. TreeMap - kayıtları anahtarlara göre sıralı tutar (kırmızı-siyah ağaç). Hashtable - senkronize edilmiş HashMap (eski).
SortedMap TreeMap Anahtarlar sıralı tutulur.
NavigableMap TreeMap Sıralı anahtarlar arasında gezinmek için metodlar sağlar.
  • Yardımcı sınıflar:
    • Collections: Koleksiyonlar üzerinde sıralama, arama, senkronizasyon gibi işlemler için statik metodlar sağlar.
    • Arrays: Diziler üzerinde sıralama, dönüştürme gibi işlemler için statik metodlar sağlar.

Yapı, belirli görevler için en uygun koleksiyon türlerini seçmeye olanak tanır, sıralama, çoğaltma, performans ve senkronizasyon gereksinimlerine göre.