Sobes.tech
Junior — Middle

Leg uit wat een botsing van sleutels betekent in de gegevensstructuur HashMap en hoe deze hiermee omgaat.

sobes.tech AI

Antwoord van AI

Hash collision in HashMap gebeurt wanneer twee verschillende sleutels hetzelfde indexwaarde geven bij het berekenen van de hashfunctie.

Hoe HashMap hiermee omgaat:

  • In Java gebruikt HashMap ketens (gelinkte lijsten of gebalanceerde bomen) om meerdere elementen op te slaan die in dezelfde bak terechtkomen.
  • Bij het toevoegen van een nieuw element met een sleutel waarvan de hash overeenkomt met een bestaande, wordt het nieuwe element aan de keten van die bak toegevoegd.
  • Bij het zoeken naar een sleutel doorloopt HashMap de elementen in de keten en vergelijkt de sleutels met equals() om de juiste te vinden.

Vanaf Java 8 wordt, als de keten te lang wordt, deze omgezet in een gebalanceerde boom (TreeNode), wat de zoekprestaties verbetert van O(n) naar O(log n).