【发布时间】:2015-05-07 11:03:38
【问题描述】:
for (Entry<Double, String> entry : map.entrySet()) {
Double key = entry.getKey();
String value = entry.getValue();
// double nextKey = ?
// String nextvalue = ?
// double prevKey = ?
// String prevValue = ?
}
是否有可能在迭代地图时知道前一个元素和下一个元素是什么?
【问题讨论】:
-
大多数地图没有保证顺序,所以不太可能。
-
LinkedHashMap- 看到这个stackoverflow.com/questions/2889777/… -
简短回答:不,不可靠。因此,
Set没有指定的顺序。您可以将上一个/下一个条目保存在一个单独的变量中,但是在这部分代码的连续调用中,条目的顺序可能不同。 -
@DaDaDom 实际上,有些集合支持这种导航,例如
NavigableSet实现。 -
@SashaSalauyou 同意了,但是
.entrySet()的返回值并没有提到任何这样的订单,因此无法保证订单。
标签: java dictionary