在java中迭代一个映射有多少种方法?如果已经有for循环,为什么要迭代mai?
可以使用myMap.entrySet().iterator()中的迭代器来迭代在java中迭代一个映射有多少种方法?如果已经有for循环,为什么要迭代mai?,java,Java,可以使用myMap.entrySet().iterator()中的迭代器来迭代SortedMap。但是这个迭代器是否保留了排序后的映射对象的顺序 SortedMap接口没有自己的方法来遍历条目。迭代按顺序排列条目的标准方式是什么?要回答您的主要问题,是。通过入口集进行迭代将保持顺序 您可以使用Java增强的foreach循环: for(final Entry<K,V> entry : myMap.entrySet(()) { //do something with entry
SortedMap
。但是这个迭代器是否保留了排序后的映射对象的顺序
SortedMap接口没有自己的方法来遍历条目。迭代按顺序排列条目的标准方式是什么?要回答您的主要问题,是。通过
入口集
进行迭代将保持顺序
您可以使用Java增强的foreach循环:
for(final Entry<K,V> entry : myMap.entrySet(()) {
//do something with entry
}
for(最终条目:myMap.entrySet(()){
//对入口做些什么
}
可以使用myMap.entrySet().iterator()中的迭代器对SortedMap进行迭代。但该迭代器是否保留排序后的map对象的顺序
是的,见:
迭代排序映射的集合视图(由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
}
for(Map.Entry:theMap.entrySet()){
K entryKey=entry.getKey();
V entryValue=entry.getValue();
//对他们做什么都行
}
Set不保留顺序,只列出保留顺序。@Sam由SortedMap\entrySet()
返回的Set
有一个顺序。Sam,这并不完全正确。Set接口并不暗示其子类的任何迭代顺序,但SortedSet的实现者确实暗示了一个排序的迭代顺序。有关更多信息,请参阅