Java Hashmap迭代:一次查看两个值?

时间:2009-09-17 01:13:32

标签: java comparison loops hashmap

我有这个循环:

 for (Map.Entry<Integer, String> entry: collection.entrySet()) {

 }

我想比较entry和之后的下一个。我该怎么做?

2 个答案:

答案 0 :(得分:6)

你是在前一个上做的。

Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
  if (previous != null) {
    // compare entry to rpevious
  }
  previous = entry;
}

答案 1 :(得分:4)

当你循环时,你可以设置一个名为oldEntry的变量(例如,初始化为null)并以你想要的方式使用它。

 Map.Entry<Integer,String> oldEntry = null;
 for (Map.Entry<Integer, String> entry: collection.entrySet()) {
   if (oldEntry != null) doStuff(oldEntry, newEntry);
   oldEntry = entry;
 }