Java HashMap iteração: Olhe para dois valores de uma vez?
-
07-07-2019 - |
Pergunta
Eu tenho este loop:
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
}
Eu gostaria de comparar entry
eo próximo depois disso. Como eu faria isso?
Solução
Você faz isso no anterior.
Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
if (previous != null) {
// compare entry to rpevious
}
previous = entry;
}
Outras dicas
Como você varrer você pode definir uma variável chamada oldEntry por exemplo (inicializada para null) e usar isso da maneira que você quiser.
Map.Entry<Integer,String> oldEntry = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (oldEntry != null) doStuff(oldEntry, newEntry);
oldEntry = entry;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow