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
Maparayü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.