在 Java 中迭代地图有多少种方法?如果我们已经有 for 循环,为什么要迭代 mai



可以使用来自myMap.entrySet().iterator()的迭代器遍历SortedMap。但是这个迭代器是否保留了排序映射对象的顺序?

SortedMap 接口没有自己的方法来循环访问条目。通过条目迭代排序的标准方法是什么?

可以使用 myMap.entrySet().iterator() 中的迭代器遍历 SortedMap。但是这个迭代器是否保留了排序映射对象的顺序?

是的。请参阅 SortedMap 的 javadocs:

顺序在迭代排序映射的集合视图(由 entrySet、keySet 和 values 方法返回)时反映出来。


SortedMap 接口没有自己的方法来循环访问条目。通过条目迭代排序的标准方法是什么?

通常的技巧是使用 entrySet() ,并迭代这些Map.Entry对象。例如:

for (Map.Entry<K,V> entry : theMap.entrySet()) {
    K entryKey = entry.getKey();
    V entryValue = entry.getValue();
    // do whatever with them
}

要回答您的主要问题,是的。通过entrySet进行迭代将保持秩序。

您可以使用 Java 增强型 foreach 循环:

for(final Entry<K,V> entry : myMap.entrySet(()) {
    //do something with entry
}

相关内容

  • 没有找到相关文章

最新更新