Sobes.tech
Junior

Welke collecties bestaan er in Java?

sobes.tech AI

Antwoord van AI

Het Java Collections Framework biedt veel collecties voor het opslaan en beheren van gegevens. De belangrijkste interfaces en hun implementaties:

  • Collection: basiselement.
    • List: geordende collectie die duplicaten toestaat.
      • ArrayList: gebaseerd op array, snelle toegang via index, langzame invoeging/verwijdering in het midden.
      • LinkedList: gebaseerd op een dubbel gekoppelde lijst, snelle invoeging/verwijdering, langzame toegang via index.
      • Vector: thread-safe versie van ArrayList, verouderd.
      • Stack: gebaseerd op Vector, LIFO-principe.
    • Set: collectie van unieke elementen, zonder specifieke volgorde (behalve SortedSet).
      • HashSet: gebaseerd op hash-tabel, snelle toegang en invoeging/verwijdering.
      • LinkedHashSet: behoudt de invoerorde.
      • TreeSet: slaat elementen op in gesorteerde volgorde.
    • Queue: collectie van elementen, vaak gebruikt voor opslag vóór verwerking in FIFO-volgorde.
      • PriorityQueue: elementen worden geëxtraheerd op basis van prioriteit.
      • ArrayDeque: dubbele wachtrij.
    • Deque: dubbele wachtrij, elementen kunnen aan beide zijden worden toegevoegd en verwijderd.
  • Map: slaat sleutel-waardeparen op, sleutels zijn uniek.
    • HashMap: gebaseerd op hash-tabel, snelle toegang via sleutel.
    • LinkedHashMap: behoudt de invoer- of toegangvolgorde.
    • TreeMap: slaat paren op in gesorteerde volgorde op basis van sleutels.
    • Hashtable: thread-safe versie van HashMap, verouderd.

Thread-veilige collecties:

  • Collections.synchronized*: omhulsels rond bestaande collecties.
  • Concurrent*: pakket java.util.concurrent, collecties met verbeterde prestaties in gelijktijdige omgevingen.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

En andere minder voorkomende collecties.