Mapa (clave-valor)
Una colección que guarda pares clave–valor y permite encontrar un valor al instante a partir de su clave.
En lugar de buscar por posición como en una lista, en un mapa buscas por clave: el nombre de un producto, un DNI, una palabra. Cada clave aparece una sola vez.
Recibe muchos nombres: diccionario en Python, Map o HashMap en Java, map en Go, arrays asociativos en PHP. Es ideal para contar, agrupar o hacer búsquedas rápidas.
Un ejemplo
stock = {"teclado": 10, "ratón": 0}; stock["teclado"] devuelve 10 sin recorrer nada.
Por qué importa
Un mapa guarda pares de clave y valor y permite recuperar un valor al instante a partir de su clave, sin recorrer todos los elementos. Es la estructura ideal cuando quieres consultar por nombre en vez de por posición: el precio de un producto por su código, el número de veces que aparece cada palabra en un texto o la configuración de una aplicación. Recibe nombres distintos según el lenguaje: diccionario en Python, objeto o Map en JavaScript, HashMap en Java y Rust, map en Go y C++.
Lo usarás constantemente: contar frecuencias, agrupar datos, guardar cachés, indexar resultados o representar objetos JSON. Detrás suele haber una tabla hash, lo que explica que buscar, insertar y borrar sean operaciones rápidas de media. Si en su lugar recorrieras una lista buscando una coincidencia, el programa se volvería lento al crecer los datos.
Confusiones frecuentes
Se confunde con un array o lista. En una lista accedes por posición (lista[0]); en un mapa, por clave (mapa["nombre"]). Otro punto de confusión es el orden: muchos mapas no garantizan un orden concreto de recorrido (en Python, desde la 3.7, los diccionarios conservan el orden de inserción, pero en otros lenguajes no ocurre). Y un error típico de principiante es acceder a una clave que no existe: en Python lanza KeyError, en JavaScript devuelve undefined, por lo que conviene comprobar antes o usar un valor por defecto.
Preguntas frecuentes
¿Cómo compruebo si una clave existe en Python?
Con clave in diccionario, que devuelve verdadero o falso. También puedes usar diccionario.get(clave, valor_por_defecto) para evitar el error si no está.
¿Puedo usar cualquier cosa como clave?
Depende del lenguaje. Suele exigirse que la clave sea hasheable e inmutable, como cadenas o números. En Python, una lista no puede ser clave, pero una tupla de valores simples sí.
Fuentes consultadas
- Map (MDN Web Docs)
- Tipos de mapeo: dict (Documentación de Python)