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

Java Hashmap迭代:一次查看两个值?,java,comparison,loops,hashmap,Java,Comparison,Loops,Hashmap,我有一个循环: for (Map.Entry<Integer, String> entry: collection.entrySet()) { } for(Map.Entry:collection.entrySet()){ } 我想比较一下条目和之后的下一个条目。我该怎么做呢?在循环过程中,您可以设置一个名为oldEntry的变量(例如,初始化为null),并以您想要的方式使用它 Map.Entry<Integer,String> oldEntry = nul

我有一个循环:

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

 }
for(Map.Entry:collection.entrySet()){
}

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

在循环过程中,您可以设置一个名为oldEntry的变量(例如,初始化为null),并以您想要的方式使用它

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

在循环过程中,您可以设置一个名为oldEntry的变量(例如,初始化为null),并按照您想要的方式使用它

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

您可以在上一个操作中执行此操作

Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
  if (previous != null) {
    // compare entry to rpevious
  }
  previous = entry;
}
Map.Entry previous=null;
对于(Map.Entry:collection.entrySet()){
如果(上一个!=null){
//将条目与rpevious进行比较
}
先前=输入;
}

您可以在上一个操作中执行此操作

Map.Entry<Integer, String> previous = null;
for (Map.Entry<Integer, String> entry : collection.entrySet()) {
  if (previous != null) {
    // compare entry to rpevious
  }
  previous = entry;
}
Map.Entry previous=null;
对于(Map.Entry:collection.entrySet()){
如果(上一个!=null){
//将条目与rpevious进行比较
}
先前=输入;
}

如果您使用的是HashMap,您需要记住它不会保留插入顺序。如果需要插入顺序,则需要使用LinkedHashMap。@Tom:排序映射本身并不保留输入顺序-它们保留排序顺序,这通常是另一回事,不是吗?如果使用HashMap,则需要记住它不保留插入顺序。如果您需要插入顺序,那么您需要使用LinkedHashMap。@Tom:排序映射本身并不保留输入顺序-它们保留排序顺序,这通常是另一回事,不是吗?我想知道这是否迫使使用posh for循环,我们应该改用迭代器。什么时候用迭代器代替循环?我想知道这是否迫使我们使用posh for循环,我们应该改用迭代器。什么时候用迭代器代替循环?