【发布时间】:2012-12-14 16:28:48
【问题描述】:
可以使用来自myMap.entrySet().iterator() 的迭代器来迭代SortedMap。但是这个迭代器是否保留了排序后的地图对象的顺序?
SortedMap 接口没有自己的方法来遍历条目。通过条目迭代 ordered 的标准方法是什么?
【问题讨论】:
-
正文的第一部分是您问题的答案。
-
增强的 for 循环怎么样?
可以使用来自myMap.entrySet().iterator() 的迭代器来迭代SortedMap。但是这个迭代器是否保留了排序后的地图对象的顺序?
SortedMap 接口没有自己的方法来遍历条目。通过条目迭代 ordered 的标准方法是什么?
【问题讨论】:
对于键和条目,标准迭代器保证迭代顺序与键的自然顺序完全相同。这在documentation 中有说明,可以轻松测试。
另一方面,如果您有兴趣以与插入键相同的顺序保留键和条目的迭代顺序,那么您正在寻找LinkedHashMap。
【讨论】:
LinkedHashMap。