Duda con un bucle for

Hola,
¿Qué tal?
Llevo poco en esto y tengo que modificar unas clases y me he encontrado con un for que no se muy bien como va, es de este tipo:
for(expresion1 : expresion2){}
En la expresion1 tengo un objeto y en la 2 tenia un ArrayList que ahora es un Map y que tengo que poner de alguna manera en el for.
En el bucle ¿cuál sera la función de cada expresión?
Muchas gracias por todo
Un saludo
Respuesta
1
Expression1 es la declaración de una variable de un tipo compatible con los que se encuentran en tu array list; expression2 es la colección (clases que hereden de java. Útil. Collection) o array sobre la que deseas iterar. En cada iteración la variable declarada en expression1 es inicializada con el siguiente objeto en expression2.
Esto es una forma más rápida de programar un bucle para iterar sobre arreglos y colecciones que esta disponible en JSE 5.0 y superiores. Es equivalente a escribir un for o un while de la forma tradicional.
Si deseas iterar sobre un mapa, evidentemente debes cambiar ambas expresiones pues los mapas heredan de Collection. Tu bucle seria algo parecido al siguiente:
Map<String, Long> mapa = ...
for(Map.Entry<String, Long> par : mapa.entrySet()) {
String key = par.getKey();
Long value = par.getValue();
...
}
o
Map<String, Long> mapa = ...
for(String key : mapa.keySet()) {
Long value = mapa.get(key);
...
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas