Java中Arraylist与linkedlist的区别

 我来答
妤霸L5d21
2021-01-05 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:11.3万
展开全部

ArrayList 的内部实现了长度可变的数组,在内存中分配连续空间,从概念上讲,它更像数组。

ArrayList 的查询效率比较高,增删动作的效率比较低,适用于查询比较频繁,增删动作较少的集合。

ArrayList

LinkedList 的内部实现是基于一组连接的记录,所以,它更像一个链表结构。

LinkedList 的查询效率低,但是增删效率很高。适用于增删动作的比较频繁,查询次数较少的集合。

LinkedList

悟安志0FV
2011-12-21 · TA获得超过245个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:76.4万
展开全部
ArrayList 底层是用数组实现的,更擅长遍历搜索查找,因为数组有下标的概念, 可以很方便的跳到指定的位置; 不擅长插入删除操作;
LinkedList 底层是用链表实现的, 链表是一个个节点链起来的, 擅长插入删除等操作(某节点断开去掉或者重新 连接上新的节点,这类操作比较快捷),搜索查询的话只能是一个节点一个节点的来。
数据量小的情况下两者的效率差不多, 基本用法也差不多,数据量很大的情况下还是有点差距的。看你平时侧重哪方面的需求了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2011-12-21 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
ArrayList其实就是数组
看名字LinkedList是链表性质的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heritry_xiahe
推荐于2017-10-12 · TA获得超过1414个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:215万
展开全部
List: 有顺序的,元素可以重复
遍历:for 迭代
排序:Comparable Comparator Collections.sort()
ArrayList:底层用数组实现的List
特点:查询效率高,增删效率低 轻量级 线程不安全
遍历:
ArrayList<String> al=new ArrayList();
al.add("winsun"); al.add("weixin"); al.add("mybole");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}//for遍历
Iterator it=al.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}//迭代器遍历
LinkedList:底层用双向循环链表 实现的List
特点:查询效率低,增删效率高
Vector: 底层用数组实现List接口的另一个类
特点:重量级,占据更多的系统开销 线程安全
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式