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

Supongamos que nuestro Map 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 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.