Java Hashmap Iteration: посмотрите на два значения одновременно?
-
07-07-2019 - |
Вопрос
У меня есть этот цикл:
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
}
Я бы хотел сравнить запись
и следующую после этого. Как бы я это сделал?
Решение
Вы делаете это на предыдущем.
Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
if (previous != null) {
// compare entry to rpevious
}
previous = entry;
}
Другие советы
Когда вы перебираете цикл, вы можете установить переменную с именем oldEntry, например (инициализируемой на ноль), и использовать ее так, как хотите.
Map.Entry<Integer,String> oldEntry = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (oldEntry != null) doStuff(oldEntry, newEntry);
oldEntry = entry;
}
Не связан с StackOverflow