+0

Mapas y HashMap en Java

Duration: 2m 59s



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 un HashMap.

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();