![6c16b07554267bd28ab14adcba6c10d3.png](https://img-blog.csdnimg.cn/img_convert/6c16b07554267bd28ab14adcba6c10d3.png)
一、List接口的实现类ArrayList(数据结构:数组结构)
- 数据结构:数组结构
- 有序、允许空元素、允许重复元素
- 查询快、增删慢
- 不指定容量,则初始容量为10
- 扩容机制:一般是旧容量的1.5倍
- 不同步
java.util.ArrayList集合的数据结构是数组结构(API中可知道:ArrayList是List接口的大小可变的数组的实现),允许空元素。
![5daddccc110c8268e085d8493463e602.png](https://img-blog.csdnimg.cn/img_convert/5daddccc110c8268e085d8493463e602.png)
元素查询快、增删慢,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
每个ArrayList实例都有一个容量,容量是用于存储列表中的元素的数组的大小。它总是至少与列表大小一样大。 当元素添加到ArrayList时,其容量会自动增长
请注意,此实现不同步
ArrayList源码:底层实现是数组结构