Sobes.tech
Junior

Koje kolekcije postoje u Javi?

sobes.tech АИ

Одговор од АИ

Java Collections Framework pruža mnoge kolekcije za skladištenje i upravljanje podacima. Glavni interfejsi i njihove implementacije:

  • Collection: osnovni interfejs.
    • List: sortirana kolekcija koja dozvoljava duplikate.
      • ArrayList: zasnovana na nizu, brzi pristup po indeksu, sporo umetanje/brisanje u sredini.
      • LinkedList: zasnovana na dvostruko povezanoj listi, brzo umetanje/brisanje, sporo pristup po indeksu.
      • Vector: thread-safe verzija ArrayList, zastarela.
      • Stack: zasnovana na Vector, princip LIFO.
    • Set: kolekcija jedinstvenih elemenata, bez određenog reda (osim SortedSet).
      • HashSet: zasnovan na hash tabeli, brzo pristup i umetanje/brisanje.
      • LinkedHashSet: održava red umetanja.
      • TreeSet: čuva elemente u sortiranoj formi.
    • Queue: kolekcija elemenata, često korišćena za skladištenje pre obrade u FIFO redosledu.
      • PriorityQueue: elementi se izvlače prema prioritetu.
      • ArrayDeque: dvostruka red.
    • Deque: dvostruka red, može se dodavati i uklanjati elementi sa obe strane.
  • Map: skladišti parove ključ-vrednost, ključevi su jedinstveni.
    • HashMap: zasnovan na hash tabeli, brz pristup po ključevi.
    • LinkedHashMap: održava red umetanja ili pristupa.
    • TreeMap: čuva parove u sortiranoj formi po ključevima.
    • Hashtable: thread-safe verzija HashMap, zastarela.

Sigurne kolekcije za višestruke niti:

  • Collections.synchronized*: omotači nad postojećim kolekcijama.
  • Concurrent*: paket java.util.concurrent, kolekcije sa poboljšanim performansama u konkurentnim okruženjima.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

I druge manje rasprostranjene kolekcije.