Junior — Middle
Kunt u het mechanisme uitleggen van het toevoegen van elementen aan de gegevensstructuur HashSet?
sobes.tech AI
Antwoord van AI
HashSet in Java (en Android) wordt geïmplementeerd op basis van HashMap. Wanneer je een element toevoegt aan een HashSet, gebeurt het volgende:
- De hash-code van het element wordt berekend met behulp van de methode
hashCode(). - Op basis van de hash-code wordt de index van de bak (bucket) in de interne array bepaald.
- Als er al elementen in de bak zijn, wordt er vergeleken met
equals()om te controleren of het element al bestaat (om duplicaten te voorkomen). - Als het element niet bestaat, wordt het toegevoegd aan de bak.
Op deze manier zorgt HashSet voor de uniciteit van de elementen en snelle toegang door hashing.
Voorbeeld van toevoegen:
HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("apple"); // wordt niet toegevoegd, omdat "apple" al bestaat