Sobes.tech
Junior

Java'da hangi koleksiyonlar var?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java Collections Framework, verileri depolamak ve yönetmek için birçok koleksiyon sağlar. Ana arayüzler ve uygulamaları:

  • Collection: temel arayüz.
    • List: sıralı koleksiyon, tekrar eden öğelere izin verir.
      • ArrayList: dizi tabanlı, indeksle hızlı erişim, ortada yavaş ekleme/silme.
      • LinkedList: çift bağlı liste tabanlı, hızlı ekleme/silme, yavaş indeks erişimi.
      • Vector: ArrayList'in çok iş parçacıklı versiyonu, kullanımı önerilmez.
      • Stack: Vector tabanlı, LIFO prensibi.
    • Set: benzersiz öğeler koleksiyonu, belirli bir sırası yok (sadece SortedSet hariç).
      • HashSet: hash tabanlı, hızlı erişim ve ekleme/silme.
      • LinkedHashSet: ekleme sırasını korur.
      • TreeSet: öğeleri sıralı tutar.
    • Queue: öğe koleksiyonu, genellikle FIFO sırasıyla işlenir.
      • PriorityQueue: önceliğe göre öğeleri çıkarır.
      • ArrayDeque: çift uçlu kuyruk.
    • Deque: çift uçlu kuyruk, her iki uçtan ekleme ve çıkarma yapabilir.
  • Map: anahtar-değer çiftleri, anahtarlar benzersiz.
    • HashMap: hash tabanlı, hızlı erişim.
    • LinkedHashMap: ekleme veya erişim sırasını korur.
    • TreeMap: anahtarlara göre sıralı.
    • Hashtable: HashMap'in thread-safe versiyonu, kullanımı önerilmez.

Thread güvenli koleksiyonlar:

  • Collections.synchronized*: mevcut koleksiyonlar üzerinde sarmalayıcılar.
  • Concurrent*: java.util.concurrent paketinde, çok iş parçacıklı ortamlar için optimize edilmiştir.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

Diğer daha az yaygın koleksiyonlar.