Vamos a ver qué son los Mapas en Java y cómo usar la clase HashMap, que es la implementación más común de un mapa.
Un mapa es una estructura de datos que nos permite almacenar pares de clave-valor. Es como un diccionario, donde cada palabra tiene una definición.
HashMap
El HashMap
es una clase que almacena datos en pares clave-valor. Esta necesita ser instanciado como un objeto, y pedirá dos argumentos de tipo.
Se necesita importar
import java.util.HashMap;
para declarar unHashMap
.
Vamos a ver un ejemplo con países, y sus capitales:
HashMap<String, String> mapaDePaises = new HashMap<>();
Cuando instanciamos un HashMap
, empezará vacío. Tiene diferentes métodos para poder realizar operaciones con nuestro mapa. Vamos a ver unos cuantos:
put
El método put(clave, valor)
nos permite añadir un nuevo par clave-valor al mapa. Si la clave ya existe, el valor asociado se actualiza.
mapaDePaises.put("España", "Madrid");
mapaDePaises.put("Francia", "París");
mapaDePaises.put("Italia", "Roma");
// Si ya existe la clave, se actualiza el valor
mapaDePaises.put("España", "Barcelona");
get
El método get(clave)
nos permite obtener el valor asociado a una clave específica. Si la clave no existe, se devuelve null
.
String capitalEspaña = mapaDePaises.get("España"); // capitalEspaña será "Barcelona"
String capitalPeru = mapaDePaises.get("Perú"); // capitalPeru será null
containsKey
El método containsKey(clave)
nos permite saber si una clave específica existe en el mapa.
boolean existeEspaña = mapaDePaises.containsKey("España"); // existeEspaña será true
boolean existeJapon = mapaDePaises.containsKey("Japón"); // existeJapon será false
containsValue
El método containsValue(valor)
nos permite saber si un valor específico existe en el mapa.
boolean hayMadrid = mapaDePaises.containsValue("Madrid"); // hayMadrid será true
boolean hayBerlin = mapaDePaises.containsValue("Berlin"); // hayBerlin será false
size
El método size()
nos permite obtener el número de pares clave-valor que hay en el mapa.
int numeroPaises = mapaDePaises.size(); // numeroPaises será 3
remove
El método remove(clave)
nos permite eliminar un par clave-valor del mapa.
mapaDePaises.remove("Italia");
clear
El método clear()
elimina todos los pares clave-valor del mapa, dejándolo vacío.
mapaDePaises.clear();