Cómo iterar un Map con Java 1.5

A pedido del Sr: @perrefe les dejo un tip de performance para iterar sobre Map<K,V>:

Supongamos que nuestro Map<K,V> tiene como key un String y como value un Integer, declarado de esta forma:

1
Map<String,Integer> map = new HashMap<String,Integer>();

Ahora podemos iterar el Map de la siguiente forma:

1
2
3
4
for (Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key [" + entry.getKey() + "]");
System.out.println("Value [" + entry.getValue() + "]");
}

Si ve por ahí algún iterador sobre un Map<K,V> al cual le sacan primero la lista de keys y después iteran el Map para sacar el value, no pierda tiempo escribiendo código de más y haciendo que su aplicación ande mas lenta.

Por favor no haga esto!!!

1
2
3
4
5
6
7
Set<string> keys = map.keySet();

for (String key : keys) {
Integer value = map.get(key);
System.out.println("Key [" + key + "]");
System.out.println("Value [" + value + "]");
}

Espero les sirva.

Author

Francisco Collao

Posted on

2011-01-04

Updated on

2023-06-07

Licensed under

Comentarios