Junior — Middle
Wat is het verschil tussen de implementatie van de collectie Set en de collectie ArrayList in Java?
sobes.tech AI
Antwoord van AI
Het belangrijkste verschil tussen de collecties Set en ArrayList in Java ligt in hun gedrag en implementatie:
- Set — is een collectie die geen duplicaten toestaat. De volgorde van de elementen wordt niet gegarandeerd (bijvoorbeeld in HashSet), hoewel er implementaties met ordening zijn (TreeSet, LinkedHashSet).
- ArrayList — is een gesorteerde lijst die duplicaten toestaat en de volgorde van toevoegen behoudt.
Vanuit een implementatieperspectief:
- ArrayList is gebaseerd op een array die dynamisch wordt uitgebreid bij het toevoegen van elementen. Snelle toegang via index.
- HashSet wordt meestal geïmplementeerd op basis van HashMap, waarbij de elementen als sleutels fungeren. Dit zorgt voor snelle zoekopdrachten en controle op uniciteit.
Voorbeeld:
Set<String> set = new HashSet<>();
set.add("apple");
set.add("apple"); // wordt niet twee keer toegevoegd
List<String> list = new ArrayList<>();
list.add("apple");
list.add("apple"); // beide elementen worden toegevoegd