Junior — Middle
Puoi spiegare come si accede a un elemento all'interno di una struttura HashMap?
sobes.tech AI
Risposta dell'AI
In Java, HashMap è implementato sulla base di un array di bucket, ognuno dei quali contiene una lista collegata o un albero (a partire da Java 8) di elementi con lo stesso codice hash.
L'accesso a un elemento avviene come segue:
- Viene calcolato il codice hash della chiave usando
hashCode(). - Il codice hash viene trasformato in un indice dell'array di bucket (solitamente tramite l'operazione
hash & (capacity - 1)). - Nel bucket selezionato, si cerca l'elemento con la chiave uguale a quella cercata (confronto tramite
equals()). - Se l'elemento viene trovato, viene restituito il valore associato.
Esempio:
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // si calcola l'hash, si sceglie il bucket, si cerca l'elemento
In questo modo, l'accesso a un elemento consiste nel calcolare l'hash, selezionare il bucket e cercare tramite la chiave all'interno del bucket.