Transformar un Map en una Collection
Persona persona1 = new Persona("75367834E", "Nombre1");
Persona persona2 = new Persona("68274736E", "Nombre2");
Persona persona3 = new Persona("90497589E", "Nombre3");
Map<String, Persona>; map = new HashMap<String, Persona>();
map.put(persona1.getDni(), persona1);
map.put(persona2.getDni(), persona2);
map.put(persona3.getDni(), persona3);
Collection <Persona> collection = map.values();
Iterator <Persona&gr; it = collection.iterator();
while(it.hasNext()){
System.out.println(it.next().getNombre());
}
Recuperar un map a partir de las claves
El método keySet() devuelve un set de claves. Luego, recuperaré los valores del map utilizando las claves que acabo de almacenar en el Set.
Persona p1 = new Persona("11111111E", "Nombre1");
Persona p2 = new Persona("22222222E", "Nombre2");
Persona p3 = new Persona("33333333E", "Nombre3");
Map<String, Persona&gr; map = new HashMap();
map.put(p1.getDni(), persona1);
map.put(p2.getDni(), persona2);
map.put(p3.getDni(), persona3);
Set <String&gr;claves = map.keySet();
Iterator <String&gr; it = claves.iterator();
while(it.hasNext()){
String clave = it.next();
Persona persona = map.get(clave);
System.out.println(persona.getNombre());
}
Recorrer un Map (2 formas)
//Para cada elemento key del conjunto map.keySet()
for (String key : map.keySet()){
System.out.println(key + "=> " + map.get(key).getNombre());
}
//1 Entry es un key-value pair
for(Map.Entry<String, Persona>entry:map.entrySet()){
String key = entry.getKey();
Persona3 value = entry.getValue();
System.out.println(key + "=> " + value.getNombre());
}
}