https://www.javatpoint.com/java-hashmap
https://guru99.es/working-with-hashmaps/
https://www.geeksforgeeks.org/java-util-hashmap-in-java-with-examples/
https://www.baeldung.com/java-hashmap
public static void main(String[] args) {
// Especificar los tipos de los dos cmapos, la clave y el valor
// Defino por la intefaz 'Map' y no pr HashMap
Map<Integer, String> map = new HashMap<Integer, String>();// Creating HashMap
// Otra manera
HashMap<Integer, String> mapita = new HashMap<Integer, String>();// Creating HashMap
// Los valores se añaden con 'put'
// En formato clave, valor
map.put(1, "Eva"); // Put elements in Map
map.put(2, "Juan");
map.put(3, "Ana");
map.put(4, "Pep"); //{1=Eva, 2=Juan, 3=Ana, 4=Rosa}
System.out.println(map);
// Recorrer un HashMap
for (Map.Entry<Integer, String> m : map.entrySet()) {
System.out.println(m.getKey() + " " + m.getValue());
}
// Añado un valor que ya existe
// Lo sustituye
map.put(4, "Rosa");
for (Map.Entry<Integer, String> m : map.entrySet()) {
System.out.println(m.getKey() + " " + m.getValue());
}
// Función especial para añadir sólo si no existe
map.putIfAbsent(4, "Pepe");
System.out.println(map);
map.putIfAbsent(5, "Pepe");
System.out.println(map);
// Nos elimina el elemento con la clave '2'
map.remove(2);
System.out.println(map);
// Aquí la clave es una cadena y el valor es de tipo alumno
Map<String,Alumno> mapa=new HashMap<String,Alumno>();
Map<Alumno,String> mapaalreves=new HashMap<Alumno,String>();
// Los añado creando alumnos al vuelo
mapa.put("Ana", new Alumno("Ana Pi",7));
mapa.put("Eva", new Alumno("Eva González",8));
mapa.put("Pep", new Alumno("José Bou",6));
// Obtener un valor concreto de una clave
System.out.println(mapa.get("Ana"));
System.out.println(mapa);
for (Map.Entry<String, Alumno> m : mapa.entrySet()) {
System.out.println(m.getKey() + " " + m.getValue().getNombre());
}
// Elimino por la clave
mapa.remove("Ana");
// Recorrer por valores, porque no me interesa la clave
for(Alumno al:mapa.values()) {
System.out.println(al);
}
// Muestra las claves de mi HashMap
for(String key:mapa.keySet()) {
System.out.println(key);
}
}