问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

arrayList和linkedList在排序上的区别

发布网友 发布时间:2022-04-26 16:15

我来回答

2个回答

热心网友 时间:2023-10-13 22:53

ArrayList和LinkedList都实现了List接口,ArrayList的实现用的是数组,LinkedList是基于链表,ArrayList适合查找,LinkedList适合增删。

ArrayList与LinkList两者的区别:

ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。
相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。
LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。

但是要删除数据却是开销很大的,因为这需要重排数组中的所有数据。
2) 相对于 ArrayList , LinkedList 插入是更快的。因为 LinkedList 不像 ArrayList 一样,不需要改变数组的大小,也不需要在数组装满的时候要将所有的数据重新装入一个新的数组,这是 ArrayList 最坏的一种情况,时间复杂度是 O(n) ,而 LinkedList 中插入或删除的时间复杂度仅为 O(1) 。 ArrayList 在插入数据时还需要更新索引(除了插入数组的尾部)。
3) 类似于插入数据,删除数据时, LinkedList 也优于 ArrayList 。
4) LinkedList 需要更多的内存,因为 ArrayList 的每个索引的位置是实际的数据,而 LinkedList 中的每个节点中存储的是实际的数据和前后节点的位置 ( 一个 LinkedList 实例存储了两个值: Node<E> first 和 Node<E> last 分别表示链表的其实节点和尾节点,每个 Node 实例存储了三个值: E item,Node next,Node pre) 。

什么场景下更适宜使用 LinkedList,而不用ArrayList
1) 你的应用不会随机访问数据 。因为如果你需要LinkedList中的第n个元素的时候,你需要从第一个元素顺序数到第n个数据,然后读取数据。
2) 你的应用更多的插入和删除元素,更少的读取数据 。因为插入和删除元素不涉及重排数据,所以它要比ArrayList要快。

热心网友 时间:2023-10-13 22:54

arrayList底层是数组,增删慢,查找快
linkedList底层是双向链表,增删快,查找慢
而排序看谁快的话要具体看用什么排序方法。
http://www.cnblogs.com/zjss/p/5232048.html追问排序这种操作既不是增删,也不是查找,但是它涉及到了集合元素的遍历和移位,集合元素交换位置实际上会改变它的存储位置吗

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样打开oppor8315的移动磁盘,我想下点小说都不行 op手机r8315质量好不 酷狗音乐会员怎么开通划算?不同渠道价格对比 酷狗透视卡是什么意思 装甲输送车性能 M59履带式装甲人员输送车性能数据 车厘子和草莓是寒性水果吗-车厘子和草莓是凉性的吗 我想了解国寿鑫福临门年金保险 安卓手机如何把数据迁移到iPhone13上?最详细操作方法,小白都会 BIOS里的CSM是什么啊? cad的区域覆盖也就是遮罩 如何隐藏遮罩的边缘线 关于Java的ArrayList排序 cad打印三维怎隐藏看不到的线? 如何对ArrayList中的某个属性进行排序 cad中怎么隐藏线条 Java中怎样对ArrayList集合中的指定列排序 CAD三维转成二维视图后,怎样把其他线隐藏起来,只显示实体的轮廓线? java ArrayList 排序 java arraylist 集合排序问题 C# ArrayList的排序 cad怎么让不同颜色线条隐藏和显示 java如何对Arraylist数组进行排序(用comparable) ArrayList排序用什么排序方法最快 怎样在CAD2012中显示隐藏的地形线 如何实现对ArrayList排序 sort 如何示显CAD的隐藏线条 c#arraylist 怎样排序 cad线条自己隐藏了,按鼠标滚轮拖动才能显示,怎么解决? cad如何显示隐藏线 cad隐藏的线如何显示出来 arraylist数组排序 C# 关于ArrayList 排序问题 java 实现ArrayList的sort C#中的ArrayList的Sort方法 java关于arraylist特殊排序,有实力的帮忙思考一下 C# arraylist 排序 冬天哪里好玩 冬天好玩的地方有哪里啊?? 冬天有什么好玩的? 湖南冬天有哪里好玩的? 芯烨打印机出空白纸 为什么我的浏览器老是崩溃,然后电脑就黑屏了,关闭浏 360浏览器崩溃了黑屏怎么修复 浏览器总是黑屏崩溃,求大神指点。 电脑打开浏览器以后就卡住了,重新开机以后,电脑就黑屏了QAQ求大神解救 芯烨打印机怎么打印条码出很多空白 华为畅享8plus玩游戏怎么样 电脑有时黑屏重启 浏览器经常崩溃 玩游戏有时自动关闭 华为畅享8plus拍照效果怎么样 芯烨的电子面单打印机谁用过,质量怎么样?耐用吗?