Junior — Middle
¿Puede explicar cómo se accede a un elemento dentro de una estructura HashMap?
sobes.tech AI
Respuesta de la IA
En Java, HashMap se implementa en base a un array de buckets, cada uno de los cuales contiene una lista enlazada o un árbol (a partir de Java 8) de elementos con el mismo código hash.
El acceso a un elemento se realiza de la siguiente manera:
- Se calcula el código hash de la clave mediante
hashCode(). - El código hash se transforma en un índice del array de buckets (generalmente mediante la operación
hash & (capacity - 1)). - En el bucket seleccionado, se busca el elemento con la clave igual a la buscada (comparación mediante
equals()). - Si se encuentra el elemento, se devuelve el valor asociado.
Ejemplo:
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // se calcula el hash, se selecciona el bucket, se busca el elemento
De esta forma, el acceso a un elemento consiste en calcular el hash, seleccionar el bucket y buscar por la clave dentro del bucket.