Junior
Welke collecties bestaan er in Java?
sobes.tech AI
Antwoord van AI
In Java, bestaan de volgende hoofdcollectie-interfaces die deel uitmaken van het Java Collections Framework:
-
Collection: Basissinterface die algemene operaties op groepen objecten definieert. Erven subinterfaces:List: Geordende collectie (sequentie). Elementen kunnen zich herhalen. Ondersteunt toegang via index.ArrayList: Dynamische array. Goed voor snelle toegang via index en toevoegen aan het einde. Langzaam voor invoegen/verwijderen in het midden.LinkedList: Dubbel gekoppelde lijst. Goed voor invoegen/verwijderen aan het begin of einde. Langzaam voor toegang via index.Vector: Gesynchroniseerde versie vanArrayList. Wordt als verouderd beschouwd.Stack: Erft vanVector, implementeert het gedrag van een stack (LIFO).
Set: Collectie die alleen unieke elementen bevat. Garandeert geen volgorde.HashSet: Implementatie met hash-tabel. De snelste voor toevoegen, verwijderen en controleren op aanwezigheid. Garandeert geen volgorde.LinkedHashSet: Implementatie als hash-tabel + gekoppelde lijst. Garandeert invoer volgorde.TreeSet: Implementatie met rode-zwart boom. Slaat elementen op in gesorteerde volgorde. Langzamer danHashSet, maar sneller danLinkedHashSetvoor bereikzoekopdrachten.
Queue: Collectie ontworpen voor het opslaan van elementen vóór verwerking (FIFO - First-In, First-Out).PriorityQueue: Elementen worden opgeslagen volgens hun natuurlijke ordening of een comparator. Hoogste prioriteit wordt geëxtraheerd.Deque: (Double Ended Queue) Ondersteunt invoegen en verwijderen aan beide uiteinden.ArrayDeque: Implementatie van Deque gebaseerd op array. Efficiënter danLinkedListals wachtrij/stapel.
-
Map: Collectie die paren sleutel-waarde opslaat. Sleutels zijn uniek.HashMap: Implementatie met hash-tabel. De snelste voor toevoegen, verwijderen en controleren op aanwezigheid. Garandeert geen volgorde van sleutels.LinkedHashMap: Implementatie als hash-tabel + gekoppelde lijst. Garandeert invoer- of toegangvolgorde.TreeMap: Implementatie met rode-zwart boom. Slaat sleutel-waarde paren op in gesorteerde volgorde op basis van sleutels. Langzamer danHashMap.HashTable: Gesynchroniseerde versie vanHashMap. Wordt als verouderd beschouwd.
Er bestaan ook verouderde klassen die niet tot het JCF behoren, maar soms worden ze aangetroffen:
VectorStackHashtableEnumeration(interface)