Middle
Java'da Collection çerçevesinin yapısı hakkında bana bilgi ver.
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'daki Collections çerçevesi, nesne koleksiyonlarını temsil etmek ve üzerinde işlem yapmak için birleşik bir mimari sağlar. Ana bileşenleri:
-
Arayüzler: Koleksiyonların soyut türlerini tanımlar.
Collection: nesne grubunu temsil eden temel arayüz.List: sıralı, yinelenen öğelere izin veren koleksiyon.Set: yinelenen öğe içermeyen koleksiyon.SortedSet: sıralanmış öğeleri olanSet.NavigableSet: sıralanmış kümede gezinme metodları sağlayanSortedSet.Queue: belirli bir sırayla işlenen öğeler içeren koleksiyon (genellikle FIFO veya LIFO).Deque: çift uçlu kuyruk.Map: anahtar-değer çiftleri koleksiyonu.Collection'dan kalıtım almaz.SortedMap: sıralanmış anahtarlar içerenMap.NavigableMap: sıralanmış haritada gezinme metodları sağlayanSortedMap.Iterator: koleksiyon öğeleri üzerinde yineleme yapmayı sağlar.ListIterator:Iterator'ı genişleterek liste üzerinde iki yönlü gezinme ve listeyi değiştirme imkanı sağlar.
-
Uygulama sınıfları: Arayüzlerin somut uygulamalarını sağlar.
Listiçin:ArrayList,LinkedList,Vector(Kalıtım).Setiçin:HashSet,LinkedHashSet,TreeSet.Queueiçin:LinkedList,PriorityQueue.Dequeiçin:ArrayDeque,LinkedList.Mapiçin:HashMap,LinkedHashMap,TreeMap,Hashtable(Kalıtım).
-
Algoritmalar:
Collectionssınıfında bulunan ve koleksiyonlar üzerinde genel işlemler yapan statik metodlar; sıralama, arama, karıştırma ve diğerleri. -
Yardımcı sınıflar: Dizilerle çalışmak için
Arrayssınıfı ve nesnelerle genel işlemler içinObjectssınıfı.
Kullanım örneği:
// ArrayList oluşturma
List<String> isimler = new ArrayList<>();
isimler.add("Alice");
isimler.add("Bob");
isimler.add("Charlie");
// Liste üzerinde yineleme
for (String isim : isimler) {
System.out.println(isim);
}
// Listeyi sıralama
Collections.sort(isimler);
System.out.println("Sıralı isimler: " + isimler);
// HashSet oluşturma
Set<Integer> sayılar = new HashSet<>();
sayılar.add(1);
sayılar.add(2);
sayılar.add(1); // yinelenen göz ardı edilir
System.out.println("Sayılar kümesi: " + sayılar);
// HashMap oluşturma
Map<String, Integer> yaşlar = new HashMap<>();
yaşlar.put("Alice", 30);
yaşlar.put("Bob", 25);
System.out.println("Yaşlar: " + yaşlar);
Arayüzler arasındaki temel ilişkiler:
Collection <--- List, Set, Queue, Deque
List <--- ArrayList, LinkedList, Vector
Set <--- HashSet, LinkedHashSet, TreeSet
SortedSet <--- TreeSet
NavigableSet <--- TreeSet
Queue <--- LinkedList, PriorityQueue
Deque <--- ArrayDeque, LinkedList
Map <--- HashMap, LinkedHashMap, TreeMap, Hashtable
SortedMap <--- TreeMap
NavigableMap <--- TreeMap
Bu yapı, esneklik sağlar ve belirli bir görev için en uygun uygulamayı seçme imkanı sunar.