当前位置:网站首页>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.占用内存多
边栏推荐
- 微信小程序自定义组件-城市选择「建议收藏」
- iMeta | 百度认证完成,搜索“iMeta”直达出版社主页和投稿链接
- 双重for循环案例以及while循环和do while循环案例
- [代码阅读] CycleGAN: Unpaired Image-To-Image Translation Using Cycle-Consistent Adversarial Networks
- 关于DSP驱动外挂flash
- Win11文件资源管理器找不到选项卡怎么办?
- 无代码平台描述文字入门教程
- Google Earth Engine APP——实现ui.Select() 的设定和条件判断
- 关于ARM2440中断源个数的一点想法[通俗易懂]
- EastWave应用:自动计算光子晶体透反率
猜你喜欢
随机推荐
gom登录器配置教程_谷歌浏览器如何使用谷歌搜索引擎
[论文阅读] Unpaired Image-to-Image Translation Using Adversarial Consistency Loss
JS工厂模式_工厂模式进行封装
解决:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING
MySQL core SQL: SQL structured query statements, library, table operation, CRUD
MySQL核心SQL:结构化查询语句SQL、库操作、表操作、CRUD
XCTF-reverse-signin
Google Earth Engine APP——实现ui.Select() 的设定和条件判断
helm安装
有了这篇 Kubernetes 的介绍,它的原理秒懂!
双重for循环案例以及while循环和do while循环案例
Win11怎么进行左右键对调?
开源一夏|ArkUI如何自定义弹窗(eTS)
二叉树的基础练习
SVG 的 path 属性绘制图形
昨夜梦佳人,七夕试伊妆丨基于ModelArts实现AI妆容迁移丨【玩转华为云】
双指针方法
视频加密怎么播放_win播放器加密视频
Ansible deployment scripts - pro available without pit
学习在php中将特大数字转成带有千/万/亿为单位的字符串