我在java中使用了treeMap。 我想获得所有值的排序列表/集合。 TreeMap.values()可以解决这个问题吗?
我得到的集合,是否会根据keySet进行排序,或者此集合是随机的。
感谢。
答案 0 :(得分:5)
集合的迭代器以相应键的升序返回值。
答案 1 :(得分:2)
是的,TreeMap实现了NavigableMap
,它扩展了SortedMap
,因此按键排序。
答案 2 :(得分:0)
如TreeMap.values()的javadoc中所述:
集合的迭代器以升序返回值 相应的键
因此返回的集合可以按键的升序迭代。
为了更灵活地对地图的值进行排序,我通常使用以下模式:
List listOfValues = new ArrayList();
Comparator valuesComparator = ...;
listOfValues.addAll(myTreeMap.values());
Collections.sort(listOfValues, valuesComparator);