当前位置:网站首页>ArrayList和LinkedList的区别
ArrayList和LinkedList的区别
2022-08-04 10:21:00 【T.Mss】
ArrayList
扩容机制
ArrayList()会使用长度为零的数组
ArrayList(int initialCapacity)会使用指定容量的数组
public ArrayList(Collection<?entends E>c)会使用c的大小作为数组容量
add(Object o)首次扩容为10,再次扩容为上次的1.5倍
addAll(Collection c)没有元素时,扩容为Math.max(10,实际元素个数),有元素是,扩容为Math.max(原容量1.5倍,实际元素个数)
特点
1.基于数组,需要连续内存
2.随机访问快(根据指定下标访问)
3.尾部插入,删除性能可以,其他部分插入、删除都会移动数据,因此性能会低
4.可以利用cpu缓存,局部性原理
LinkedList
特点
1.基于双向链表,无需连续内存(每一位都存有下一个的指针)
2.随机访问慢(要沿着链表遍历)
3.头尾插入删除性能高
4.占用内存多
边栏推荐
猜你喜欢
随机推荐
HTB-Nibbles
LeetCode 54. 螺旋矩阵 蛇形矩阵式输出字符串
js文字转语音播报
TCP协议 - 三次握手 - 四次挥手-内核参数调优
EastWave应用:自动计算光子晶体透反率
Jina 实例秀|七夕神器!比你更懂你女友的AI口红推荐
ROI LTV CPA ECPM体系讲解
关于技术学习的6个观点
tp5+微信小程序 分片上传
自己实现一个枚举validation校验器
[论文翻译] Unpaired Image-to-Image Translation using Adversarial Consistency Loss
LeetCode简单题之最好的扑克手牌
【C补充】指针相关知识点收集01
HTB-Sense
LVS+Keepalived群集部署
【c】操作符详解(二)
暴力破解ssh/rdp/mysql/smb服务
转转测试环境的标签域名实践
华为云安全云脑,让企业云化运营更放心
使用ClickHouse分析COS的清单和访问日志









