Java: Foreach con Map

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<K,V>

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[])
    {
        Map<Integer, String> h = new HashMap<>();

        h.put(1, "uno");
        h.put(2, "dos");
        h.put(3, "tres");
        h.put(4, "cuatro");

        for(Entry<Integer, String> 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!

Etiquetado con: ,
Publicado en howtos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Time limit is exhausted. Please reload the CAPTCHA.