ArrayList数组集合与LinkedList链表集合区别

   日期:2020-06-04     浏览:102    评论:0    
核心提示:ArrayList(底层是数组):查询、替换速度快;删除、新增慢;存储地址是连续的LinkeList(底层是双向链表):删除、新增速度快;查询、修改速度慢,存储地址是任意存放的原因:因为在查询,替换的时候,数组可以通过下标直接定位找到元素,而链表要一个一个查找过去。在删除,插入的时候,数组要一个一个的移位,而链表通过指针把节点指向新元素的内存块就可以适用场景分析:1、当数据访问多的情况下选用ArrayList2、当数据删除频繁的情况下采用LinkedList共同点:都是线程不安全的注意

ArrayList(底层是数组):
查询、替换速度快;删除、新增慢;存储地址是连续的

LinkeList(底层是双向链表):
删除、新增速度快;查询、修改速度慢,存储地址是任意存放的

原因:
因为在查询,替换的时候,数组可以通过下标直接定位找到元素,而链表要一个一个查找过去。在删除,插入的时候,数组要一个一个的移位,而链表通过指针把节点指向新元素的内存块就可以

适用场景分析:
1、当数据访问多的情况下选用ArrayList
2、当数据删除频繁的情况下采用LinkedList

共同点:都是线程不安全的

注意:
线程不安全的集合也可以使Collections工具类把它们包装成线程安全的集合,
如:List<> synArrayList = Collections.synchronizedList(new ArrayList<>());

 
标签: 文章标签: java
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服