如果我有Map这样的:
HashMap<Integer, ComparableObject> map;
Run Code Online (Sandbox Code Playgroud)
我想获得一个使用自然排序排序的值集合,哪种方法最快?
创建可排序集合的实例,例如ArrayList,添加值,然后对其进行排序:
List<ComparableObject> sortedCollection = new ArrayList<ComparableObject>(map.values());
Collections.sort(sortedCollection);
Run Code Online (Sandbox Code Playgroud)
创建一个有序集合的实例TreeSet,然后添加值:
Set<ComparableObject> sortedCollection = new TreeSet<ComparableObject>(map.values());
Run Code Online (Sandbox Code Playgroud)
请注意,结果集合永远不会被修改,因此排序只需要进行一次.