Aquí os pongo un truco relámpago para usar una sentencia foreach (o enhanced for, como llaman algunos de Oracle) con el fin de recorrer las entradas de una colección de tipo Map.
La cosa consiste en utilizar la interfaz Entry contra el KeySet del Map, consiguiendo así hacerlo lo más rápido posible.
La definición de la interfaz:
Interface Map.Entry
La interfaz está estrechamente vinculada con los Maps porque solo existe en su interior. Cada Entry representa un par clave -> valor dentro del Map. Sabiendo esto, deduzco que ya sabréis como se hace el foreach, pero por si acaso aquí va un ejemplo funcional.
package pruebas; import java.util.Map; import java.util.HashMap; import java.util.Map.Entry; /** * * @author Héctor Luaces Novo */ public class EjemploForeachMap { public static void main(String args[]) { Maph = new HashMap<>(); h.put(1, "uno"); h.put(2, "dos"); h.put(3, "tres"); h.put(4, "cuatro"); for(Entry e: h.entrySet()) { System.out.println(e.getKey() + " : " + e.getValue()); } } } }
La ejecución da el siguiente output:
1 : uno 2 : dos 3 : tres 4 : cuatro
Es bastante eficiente hacerlo así, a la par que muy fácil de ver y entender.
¡Hasta el próximo truco relámpago!