Sobes.tech
Junior — Middle

Explica qué significa una colisión de claves en la estructura de datos HashMap y cómo maneja esto.

sobes.tech AI

Respuesta de la IA

La colisión de claves (hash collision) en HashMap ocurre cuando dos claves diferentes producen el mismo valor de índice al calcular la función hash.

Cómo maneja HashMap esto:

  • En Java, HashMap utiliza cadenas (listas enlazadas o árboles balanceados) para almacenar varios elementos que caen en la misma cubeta.
  • Al agregar un nuevo elemento con una clave cuyo hash coincide con uno existente, el nuevo elemento se añade a la cadena de esa cubeta.
  • Al buscar una clave, HashMap recorre los elementos en la cadena, comparando las claves mediante equals() para encontrar la correcta.

Desde Java 8, si la cadena se vuelve demasiado larga, se transforma en un árbol balanceado (TreeNode), lo que mejora el rendimiento de búsqueda de O(n) a O(log n).