当前位置:网站首页>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进阶(二十六)MySQL 索引类型
Jina 实例秀|七夕神器!比你更懂你女友的AI口红推荐
Libtomcrypt AES 加密及解密
用匿名函数定义函数_c语言最先执行的函数是
Acwing 3208. Z字形扫描 偏移量+扩展图
自己实现一个枚举validation校验器
HTB-Sense
移动端 开源低代码工具 beeware 和 kivy
LeetCode581+621+207
Win11不识别蓝牙适配器的解决方法
参数优化。
MySQL: Integrity Constraints and Table Design Principles
bash shell数组详解
CompletableFuture接口核心方法介绍
使用ClickHouse分析COS的清单和访问日志
SVG 的 path 属性绘制图形
学习在php中分析switch与ifelse的执行效率
数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动
多了&lt;audio controls=
Win7C盘不能扩大怎么办?Win7C盘扩展卷不能点怎么解决