相关疑难解决方法(0)

添加到集合然后对其进行排序或添加到已排序的集合是否更快?

如果我有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)

(B)

创建一个有序集合的实例TreeSet,然后添加值:

Set<ComparableObject> sortedCollection = new TreeSet<ComparableObject>(map.values());
Run Code Online (Sandbox Code Playgroud)

请注意,结果集合永远不会被修改,因此排序只需要进行一次.

java sorting collections

73
推荐指数
4
解决办法
3万
查看次数

在插入项目或将它们添加到排序列表后对列表进行排序是否更快

如果我有一个排序列表(比如快速排序),如果我要添加很多值,最好暂停排序,将它们添加到最后,然后排序,或者使用二进制文件来正确放置项目添加它们.如果这些项目是随机的,或者已经或多或少的顺序,它会有所不同吗?

sorting algorithm list

64
推荐指数
5
解决办法
5万
查看次数

Java - Collections.sort()性能

我使用Collections.sort()对其元素实现Comparable接口的LinkedList进行排序,因此它们按自然顺序排序.在javadoc文档中,它说这个方法使用具有n*log(n)性能的mergesort算法.

我的问题是,是否有更有效的算法来排序我的LinkedList?

该列表的大小可能非常高,排序也会非常频繁.

谢谢!

java sorting algorithm collections

15
推荐指数
2
解决办法
3万
查看次数

标签 统计

sorting ×3

algorithm ×2

collections ×2

java ×2

list ×1