数组列表还是链接列表更适合排序?

2022-09-01 17:01:49

我想使用需要不时排序的数据结构。数据结构的大小几乎不会超过 1000 个项目。

哪一个更好 - 或者?ArrayListLinkedList

哪种排序算法更好使用?


答案 1

在Java 7之前,它没有区别,因为会将列表的内容转储到数组中。Collections.sort

在Java 8中,使用应该稍微快一些,因为will调用并具有一个专门的版本,可以直接对支持数组进行排序,从而保存副本。ArrayListCollections.sortList.sortArrayList

因此,底线是更好,因为它根据Java的版本提供了相似或更好的性能。ArrayList


答案 2

如果您要使用,那么这真的无关紧要。java.util.Collections.sort(List)

如果 List 没有实现 RandomAccess,那么它将被转储到 List 中无论如何,该列表将被转储到数组中以进行排序。

(谢谢你让我保持诚实的拉尔夫。看起来我混淆了排序和洗牌的实现。他们足够接近同样的事情,对吧?


推荐