Sobes.tech
Junior — Middle

Puteți explica cum se accesează un element dintr-o structură HashMap?

sobes.tech AI

Răspuns de la AI

În Java, HashMap este implementat pe baza unui array de bucket-uri, fiecare conținând o listă legată sau un arbore (din Java 8) de elemente cu același cod hash.

Accesul la un element se face astfel:

  1. Se calculează codul hash al cheii folosind hashCode().
  2. Codul hash este transformat într-un index al array-ului de bucket-uri (de obicei prin operația hash & (capacity - 1)).
  3. În bucket-ul selectat, se caută elementul cu cheia egală cu cea căutată (comparare prin equals()).
  4. Dacă elementul este găsit, se returnează valoarea asociată.

Exemplu:

HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // se calculează hash-ul, se alege bucket-ul, se caută elementul

Astfel, accesul la un element constă în calcularea hash-ului, alegerea bucket-ului și căutarea după cheie în interiorul bucket-ului.