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

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

LinkeList(底层是双向链表):
删除、新增速度快;查询、修改速度慢,存储地址是任意存放的
在这里插入图片描述
原因:
因为在查询,替换的时候,数组可以通过下标直接定位找到元素,而链表要一个一个查找过去。在删除,插入的时候,数组要一个一个的移位,而链表通过指针把节点指向新元素的内存块就可以

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

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

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

如果这篇文章对你有点帮助的话,点个小星星吧,博主在此感谢
如文章有错误之处,还请指正

猜你喜欢

转载自blog.csdn.net/qq_41936224/article/details/106522450
今日推荐