Java Hashmap Iteration:一度に2つの値を見ますか?
-
07-07-2019 - |
質問
このループがあります:
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
}
entry
とその後の次のエントリを比較します。どうすればいいですか?
解決
前の手順で実行します。
Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
if (previous != null) {
// compare entry to rpevious
}
previous = entry;
}
他のヒント
ループするときに、たとえばoldEntryという名前の変数(nullに初期化された)を設定し、必要に応じて使用できます。
Map.Entry<Integer,String> oldEntry = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (oldEntry != null) doStuff(oldEntry, newEntry);
oldEntry = entry;
}
所属していません StackOverflow