我想知道如果在Java中使用TreeMap上的迭代器会干扰密钥的顺序吗?
答案 0 :(得分:8)
来自http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html#keySet():
返回此地图中包含的键的Set视图。 set的迭代器按升序返回键。
如果由于某种原因您需要按降序排列键,则可以使用descendingKeySet()
如果要迭代值,可以使用entrySet()
(哇,我以前不知道Map
不是Collection
...)
答案 1 :(得分:2)
否 - 它将按照TreeMap
定义的顺序迭代,即键的自然顺序,或构造函数中指定的比较器强加的顺序。只是迭代不会改变底层树图中的那个。
答案 2 :(得分:0)
它不会干扰。它为您提供升序的键。
使用entrySet
public Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射的Set视图。集合的迭代器以升序键顺序返回条目。