Java 获取LinkedHashMap中的下一项?

Java 获取LinkedHashMap中的下一项?,java,map,linkedhashmap,Java,Map,Linkedhashmap,我有LinkedHashMap中的第一个键/值对,这是我从循环中获得的: for (Entry<String, String> entry : map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); //put key value to use break; } for(条目:map.entrySet()){ String key=entry.ge

我有LinkedHashMap中的第一个键/值对,这是我从循环中获得的:

for (Entry<String, String> entry : map.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    //put key value to use
    break;
}
for(条目:map.entrySet()){
String key=entry.getKey();
字符串值=entry.getValue();
//使用关键字值
打破
}

稍后,根据一个事件,我需要linkedHashMap中的下一个键/值对。执行此操作的最佳方法是什么?

使用迭代器而不是每个循环

Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry entry = (Map.Entry)it.next();
    String key = entry.getKey();
    String value = entry.getValue();
    // do something
    // an event occurred 
    if (it.hasNext()) entry = (Map.Entry)it.next();
}

获取迭代器并使用
hasNext()
next()

。。。
迭代器it=map.entrySet().Iterator();
if(it.hasNext()){
Entry first=it.next();
...
}
...
if(eventOccessed&&it.hasNext()){
Entry second=it.next();
...
}
...

如果需要与连续值进行比较,则更容易获得上一个值

String pkey = null; 
String pvalue = null; 
for (Entry<String, String> entry : map.entrySet()) { 
    String key = entry.getKey(); 
    String value = entry.getValue(); 

    // do something with pkey/key and pvalue/value.

    pkey = key;
    pvalue = value;
} 
String pkey=null;
字符串pvalue=null;
对于(条目:map.entrySet()){
String key=entry.getKey();
字符串值=entry.getValue();
//使用pkey/key和pvalue/value执行一些操作。
pkey=key;
pvalue=值;
} 

以后在同一个函数中还是在哪里?
String pkey = null; 
String pvalue = null; 
for (Entry<String, String> entry : map.entrySet()) { 
    String key = entry.getKey(); 
    String value = entry.getValue(); 

    // do something with pkey/key and pvalue/value.

    pkey = key;
    pvalue = value;
}