当前位置:网站首页>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.占用内存多
边栏推荐
猜你喜欢
随机推荐
MySQL核心SQL:结构化查询语句SQL、库操作、表操作、CRUD
[代码阅读] CycleGAN: Unpaired Image-To-Image Translation Using Cycle-Consistent Adversarial Networks
参数优化。
转转测试环境的标签域名实践
iMeta | Baidu certification is completed, search "iMeta" directly to the publisher's homepage and submission link
Jina 实例秀|七夕神器!比你更懂你女友的AI口红推荐
无代码平台多行文字入门教程
Win11不识别蓝牙适配器的解决方法
iMeta | 百度认证完成,搜索“iMeta”直达出版社主页和投稿链接
多媒体和物联网技术让版本“活”起来 129张黑胶唱片“百年留声”
LVS+Keepalived群集部署
JS工厂模式_工厂模式进行封装
JDBC知识点
《福格行为模型》:如何养成好习惯?
mae,mse,rmse分别利用sklearn和numpy实现
Jina 实例秀|基于神经搜索的网络安全威胁检测(一)
粤黔协作,山海同心!578种贵州特色农产品走进粤港澳大湾区
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三
【COS 加码福利】COS 用户实践有奖征文,等你来投稿!
请问下Flink SQL如何写hologres分区表?我想要每天一个分区









