Iterazione hashmap Java: guardare due valori contemporaneamente?
-
07-07-2019 - |
Domanda
Ho questo ciclo:
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
}
Vorrei confrontare entry
e il successivo dopo. Come lo farei?
Soluzione
Lo fai su quello precedente.
Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
if (previous != null) {
// compare entry to rpevious
}
previous = entry;
}
Altri suggerimenti
Mentre esegui il ciclo, potresti impostare ad esempio una variabile chiamata oldEntry (inizializzata su null) e usarla nel modo che desideri.
Map.Entry<Integer,String> oldEntry = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (oldEntry != null) doStuff(oldEntry, newEntry);
oldEntry = entry;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow