Sobes.tech
Junior

Aké kolekcie existujú v Jave?

sobes.tech AI

Odpoveď od AI

Framework kolekcií Java poskytuje mnoho kolekcií na ukladanie a správu dát. Hlavné rozhrania a ich implementácie:

  • Collection: základné rozhranie.
    • List: zoradená kolekcia, ktorá umožňuje duplicitné prvky.
      • ArrayList: založené na poli, rýchly prístup podľa indexu, pomalé vkladanie/odstraňovanie uprostred.
      • LinkedList: založené na dvojito prepojenej zozname, rýchle vkladanie/odstraňovanie, pomalý prístup podľa indexu.
      • Vector: vlákno-bezpečná verzia ArrayList, zastaraná.
      • Stack: založené na Vector, princíp LIFO.
    • Set: kolekcia unikátnych prvkov, bez určeného poradia (okrem SortedSet).
      • HashSet: založené na hash tabuľke, rýchly prístup a vkladanie/odstraňovanie.
      • LinkedHashSet: zachováva poradie vkladania.
      • TreeSet: ukladá prvky v zoradenom poradí.
    • Queue: kolekcia prvkov, často používaná na ukladanie pred spracovaním vo FIFO poradí.
      • PriorityQueue: prvky sú vyberané podľa priority.
      • ArrayDeque: dvojstranná fronta.
    • Deque: dvojstranná fronta, prvky možno pridávať a odstraňovať z oboch strán.
  • Map: ukladá páry kľúč-hodnota, kľúče sú jedinečné.
    • HashMap: založené na hash tabuľke, rýchly prístup podľa kľúča.
    • LinkedHashMap: zachováva poradie vkladania alebo prístupu.
    • TreeMap: ukladá páry v zoradenom poradí podľa kľúčov.
    • Hashtable: vlákno-bezpečná verzia HashMap, zastaraná.

Vlákno-bezpečné kolekcie:

  • Collections.synchronized*: obalí existujúce kolekcie.
  • Concurrent*: balíček java.util.concurrent, kolekcie s lepším výkonom v konkurenčných prostrediach.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

A ďalšie menej rozšírené kolekcie.