Sobes.tech
Junior

Ce colecții există în Java?

sobes.tech AI

Răspuns de la AI

Framework-ul de colecții Java oferă numeroase colecții pentru stocarea și gestionarea datelor. Interfețele principale și implementările lor:

  • Collection: interfața de bază.
    • List: colecție ordonată, permite duplicate.
      • ArrayList: bazată pe array, acces rapid după index, inserare/ștergere lentă în mijloc.
      • LinkedList: bazată pe listă dublu înlănțuită, inserare/ștergere rapidă, acces lent după index.
      • Vector: echivalent thread-safe al ArrayList, învechit.
      • Stack: bazat pe Vector, principiu LIFO.
    • Set: colecție de elemente unice, fără o ordine specifică (cu excepția SortedSet).
      • HashSet: bazat pe tabel hash, acces și inserare/ștergere rapide.
      • LinkedHashSet: păstrează ordinea de inserție.
      • TreeSet: stochează elemente în ordine sortată.
    • Queue: colecție de elemente, adesea folosită pentru stocarea elementelor înainte de procesare în ordine FIFO.
      • PriorityQueue: elementele sunt extrase în ordinea priorității.
      • ArrayDeque: coadă dublă.
    • Deque: coadă dublă, se pot adăuga și elimina elemente din ambele capete.
  • Map: stochează perechi cheie-valoare, cheile sunt unice.
    • HashMap: bazat pe tabel hash, acces rapid după cheie.
    • LinkedHashMap: păstrează ordinea de inserție sau acces.
    • TreeMap: stochează perechi în ordine sortată după chei.
    • Hashtable: echivalent thread-safe al HashMap, învechit.

Colecții sigure pentru fire:

  • Collections.synchronized*: învelișuri peste colecțiile existente.
  • Concurrent*: pachetul java.util.concurrent, colecții cu performanță îmbunătățită în medii concurente.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

Și alte colecții mai puțin comune.