Sobes.tech
Junior — Middle

Kunt u uitleggen hoe toegang wordt verkregen tot een element binnen een HashMap-structuur?

sobes.tech AI

Antwoord van AI

In Java wordt HashMap geïmplementeerd op basis van een array van buckets, elk bevat een gekoppelde lijst of een boom (vanaf Java 8) van elementen met dezelfde hash-code.

Toegang tot een element gebeurt als volgt:

  1. De hash-code van de sleutel wordt berekend met hashCode().
  2. De hash-code wordt omgezet in een index van de bucket-array (meestal via de operatie hash & (capacity - 1)).
  3. In de geselecteerde bucket wordt gezocht naar het element met de sleutel gelijk aan de gezochte (vergelijking via equals()).
  4. Als het element wordt gevonden, wordt de eraan gekoppelde waarde geretourneerd.

Voorbeeld:

HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // hash wordt berekend, bucket wordt gekozen, element wordt gezocht

Zo bestaat de toegang tot een element uit het berekenen van de hash, het kiezen van de bucket en het zoeken op de sleutel binnen de bucket.