Junior
Java programlama dilinde koleksiyonların uygulamaları nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
-
Arabirimler:
Collection: Tüm koleksiyonlar için temel arayüz.List: Sıralı koleksiyon (indekslerle).Set: Tekrarsız koleksiyon.SortedSet: Tekrarsız koleksiyon, öğeleri sıralanmış.Map: Anahtar-değer dizisi.SortedMap: Anahtarlara göre sıralanmış harita.Queue: Öğeleri işlemden önce depolamak için koleksiyon.Deque: Çift uçlu kuyruk.
-
Sınıflar (ana uygulamalar):
-
Listiçin:ArrayList: Dinamik dizi. İndeksle hızlı erişim, ortada ekleme/silme yavaş.LinkedList: Çift bağlı liste. İndeksle erişim yavaş, ortada ekleme/silme hızlı.Vector: Eski, senkronize,ArrayList'in karşılığı.Stack:Vectoralt sınıfı, yığın (LIFO) uygular.
-
Setiçin:HashSet: Hash tabanlı uygulama. Öğelerin sırasını garanti etmez.LinkedHashSet: Hash tabanlı ve bağlı listeye dayanır. Ekleme sırasını korur.TreeSet: Kırmızı-siyah ağaç tabanlı. Öğeler artan sırayla sıralanır.
-
Mapiçin:HashMap: Hash tabanlı. Anahtar-değer çiftlerinin sırasını garanti etmez.Hashtable: Eski, senkronize,HashMap'in karşılığı.LinkedHashMap: Hash tabanlı ve bağlı listeye dayanır. Ekleme sırasını korur.TreeMap: Kırmızı-siyah ağaç tabanlı. Çiftler anahtara göre sıralanır.
-
Queueiçin:PriorityQueue: Öncelik sıralı kuyruk. Öğeler doğal sıralama veya karşılaştırıcıyla çıkarılır.ArrayDeque: Dizi tabanlı çift uçlu kuyruk.
-
-
Yardımcılar:
Collections: Koleksiyonlar üzerinde statik metodlar (sıralama, arama, senkronizasyon vb.).
// ArrayList kullanımı örneği
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// HashSet kullanımı örneği
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Dublikat eklenmeyecek
System.out.println(numbers.size()); // 2
// HashMap kullanımı örneği
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30
// PriorityQueue kullanımı örneği
Queue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);
priorityQueue.add(2);
System.out.println(priorityQueue.poll()); // 1 (en düşük öncelik)