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:
- Se calculează codul hash al cheii folosind
hashCode(). - Codul hash este transformat într-un index al array-ului de bucket-uri (de obicei prin operația
hash & (capacity - 1)). - În bucket-ul selectat, se caută elementul cu cheia egală cu cea căutată (comparare prin
equals()). - 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.