Iteración de Java Hashmap: ¿Mira dos valores a la vez?
-
07-07-2019 - |
Pregunta
Tengo este bucle:
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
}
Me gustaría comparar entry
y la siguiente después de eso. ¿Cómo lo haría?
Solución
Lo haces en el anterior.
Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
if (previous != null) {
// compare entry to rpevious
}
previous = entry;
}
Otros consejos
A medida que realiza un bucle, puede establecer una variable llamada oldEntry, por ejemplo (inicializada como nula) y usarla de la manera que desee.
Map.Entry<Integer,String> oldEntry = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (oldEntry != null) doStuff(oldEntry, newEntry);
oldEntry = entry;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow