当前位置: 首页 > 面试题库 >

ArrayList或LinkedList是否更适合排序?

刘狐若
2023-03-14
问题内容

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

哪一个是更好的- ArrayList或者LinkedList

哪种排序算法更好用?


问题答案:

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

在Java
8中,使用ArrayList会稍微快一些,因为Collections.sort它将调用List.sortArrayList具有专门的版本,该版本可以直接对后备数组进行排序,从而保存副本。

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



 类似资料:
  • 我正试图通过服务提供者API在运行时由加载一个jar。然而,结果却是失败的。 以下是我所做的: null 我尝试了抽象类而不是我的SPI接口的接口,当我无法实现我的目标时,将它改回接口; 我已尝试获取资源并将我的作为输入参数传递,但没有工作; 我尝试了Apache实现的,但它也找不到适当的资源; 我的问题是如何通过从外部jar加载资源?SPI可能是一种解决方案吗?

  • 问题内容: 我在此之前的一篇帖子中写道: 对于LinkedList 得到的是O(n) 加为O(1) 删除为O(n) Iterator.remove为O(1) 对于ArrayList 得到的是O(1) add为O(1)摊销,但O(n)为最差情况,因为必须调整数组大小并复制 删除为O(n) 因此,通过查看此内容,我得出的结论是,如果只对我的集合中的序列插入(比如说5000000个元素),它将超出类别。

  • 我遇到了新的列表实现,称为GlueList 我想知道什么时候应该使用ArrayList或LinkedList。

  • 问题内容: 我了解这是作为双重链接列表实现的。它在add和remove上的性能优于,但在get和set方法上却较差。 这是否意味着我应该选择在插入? 我写了一个小测试,发现插入速度更快。那如何链表比? 请参考下面的示例。 问题答案: Linkedlist确实在插入时速度更快,问题出在您的示例中。在您的代码中,您一直都需要附加到末尾。对于ArrayList,它与LinkedList一样容易。您应该做

  • 本文向大家介绍Arraylist 与 LinkedList 区别?相关面试题,主要包含被问及Arraylist 与 LinkedList 区别?时的应答技巧和注意事项,需要的朋友参考一下 数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实现。 随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 Lin

  • 我需要整理一份arrayList。我可以使用比较器并重写比较函数进行排序。或者我可以自己编写一个合并排序函数,对ArrayList进行排序。 我在某处读到比较器排序使用冒泡排序算法。因为合并排序的复杂度较低,所以我选择合并排序,而不是使用更容易实现的比较器。