Skip to main content

¿Qué es un hashmap?

  • Bart

En informática, un hashmap o una tabla hash es una forma de estructurar datos de modo que cada dato esté vinculado a un número o símbolo de identificación único. Esto permite una recuperación fácil, especialmente de una gran base de datos que contiene miles de entradas. El hashmap no es una parte específica del programa, sino que se refiere a una forma de organización de datos que asigna cada elemento, conocido como clave, en la base de datos a un valor que representa ese elemento. La función hash es la parte del programa que vincula las claves a sus valores.

Las guías telefónicas sirven como un excelente ejemplo de un hashmap. La forma en que se presenta la guía telefónica representa la estructura de hashmap. Se enfoca en vincular diferentes valores y vincular solo un valor a otro término correspondiente, o número de teléfono. Los nombres en la guía telefónica son las claves y los números telefónicos son los valores asociados con ellos. A cada persona en el libro se le asigna un número diferente y no hay dos iguales.

Los apartados postales también sirven como metáfora del hashmap. Cada persona tiene una llave para una sola caja. La caja puede contener múltiples piezas de información (facturas, cartas, postales), todas destinadas a la persona que tiene la llave de la caja. Cuando la clave correcta se inserta o coincide con el cuadro correcto, se abre para revelar su contenido.

Los hashmaps que funcionan perfectamente vincularían una clave con una "caja" de memoria en una base de datos de computadora. Desafortunadamente, puede ocurrir un factor conocido como colisión hash, donde dos teclas van al mismo cuadro. Esto sucede cuando se ingresa una gran cantidad de datos y no hay suficientes "cuadros" para acomodarlos a todos.

A diferencia de una guía telefónica o un apartado de correos, los hashmaps incluyen un tercer elemento además de la clave y el valor o casilla que coincide. También incluye una función hash. Una persona sabe qué apartado de correos es suyo, pero a una computadora se le debe decir qué tecla va a cada apartado. La función hash mira la clave, la traduce en una serie de números o códigos y la vincula al cuadro que contiene el código correspondiente. El nombre de la clave, como "Mary", solo está allí, por lo que es más fácil de interpretar para las personas, mientras que el código real es una cadena de números destinados a la computadora para leer.