Junior
Welke implementaties van collecties zijn er in de programmeertaal Java?
sobes.tech AI
Antwoord van AI
-
Interfaces:
Collection: Basiselement voor alle collecties.List: Geordende collectie (met indices).Set: Collectie zonder duplicaten.SortedSet: Collectie zonder duplicaten, waarvan de elementen gesorteerd zijn.Map: Associatief array (sleutel-waarde).SortedMap: Associatief array gesorteerd op sleutels.Queue: Collectie voor het opslaan van elementen vóór verwerking.Deque: Dubbelzijdige wachtrij.
-
Klassen (belangrijkste implementaties):
-
Voor
List:ArrayList: Dynamische array. Snelle toegang via index, trage invoeg- en verwijderbewerkingen in het midden.LinkedList: Dubbel gekoppelde lijst. Trage toegang via index, snelle invoeg- en verwijderbewerkingen in het midden.Vector: Verouderd, gesynchroniseerd, gelijk aanArrayList.Stack: Subklasse vanVector, implementeert een stapel (LIFO).
-
Voor
Set:HashSet: Implementatie op basis van hash-tabel. Garandeert geen volgorde.LinkedHashSet: Op basis van hash-tabel en gekoppelde lijst. Behoudt de invoerorde.TreeSet: Op basis van rode-zwart boom. Elementen gesorteerd in oplopende volgorde.
-
Voor
Map:HashMap: Op basis van hash-tabel. Garandeert geen volgorde van sleutel-waarde paren.Hashtable: Verouderd, gesynchroniseerd, gelijk aanHashMap.LinkedHashMap: Op basis van hash-tabel en gekoppelde lijst. Behoudt de invoerorde.TreeMap: Op basis van rode-zwart boom. Paren gesorteerd op sleutels.
-
Voor
Queue:PriorityQueue: Prioriteitswachtrij. Elementen worden geëxtraheerd in natuurlijke volgorde of door comparator.ArrayDeque: Implementatie van dubbele eindige queue op basis van array.
-
-
Hulpmiddelen:
Collections: Statische methoden voor werken met collecties (sorteren, zoeken, synchroniseren, etc.).
// Voorbeeld van ArrayList
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// Voorbeeld van HashSet
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // Duplicaat wordt niet toegevoegd
System.out.println(numbers.size()); // 2
// Voorbeeld van HashMap
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30
// Voorbeeld van PriorityQueue
Queue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);
priorityQueue.add(2);
System.out.println(priorityQueue.poll()); // 1 (laagste prioriteit)