Java集合底层源码剖析-ArrayList和LinkedList
文章目录
- ArrayList
- 基本原理
- 优缺点
- 核心方法的原理
- 数组扩容以及元素拷贝
- LinkedList
- 基本原理
- 优缺点
- 双向链表数据结构
- 插入元素的原理
- 获取元素的原理
- 删除元素的原理
- Vector和Stack
- 栈数据结构的源码剖析
ArrayList
基本原理
ArrayList是Java中的一个非常常用的数据结构,它实现了List接口,能够存储并且按照索引访问元素。在内部,ArrayList实际上是一个动态的数组,能够根据需要增长或缩小。
数据存储:ArrayList内部维护一个动态数组,这个数组用于存储元素。当你向ArrayList添加元素时,它会根据需要增长数组的大小;当你移除元素时,它可能会缩小数组的大小。
扩容和缩