Java 获取LinkedHashMap中的下一项?
我有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
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;
}