当前位置:网站首页>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.占用内存多
边栏推荐
猜你喜欢
随机推荐
onlyoffice设置跟踪变化trackChanges默认为对自己启动
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三
云计算适合什么企业_当前全球云计算处于发展
有了这篇 Kubernetes 的介绍,它的原理秒懂!
Qt:小的任务管理器(task)
语音社交app源码——具备哪些开发优势?
[easyUI]修改datagrid表格中的值
Win11不识别蓝牙适配器的解决方法
helm安装
usb设备复合g_webcam摄像头码流传输功能以及g_serial串口功能
HCIP 交换实验
Jina 实例秀|基于神经搜索的网络安全威胁检测(一)
pyvista 的介绍与使用
LVS负载均衡群集
暴力破解-破解 Apache BASIC 认证
MySQL core SQL: SQL structured query statements, library, table operation, CRUD
TCP协议 - 三次握手 - 四次挥手-内核参数调优
双向带头循环链表实现
【cookie 临时存储数据,WebStorage ,sessionStorage】
高级转录组分析和R数据可视化火热报名中(2022.10)