一. 存储特性
- 有序且可重复
1.为什么有序,且可重复??
- ArrayList底层是Object数组,数组是有序的,所以有序;
- 并且在执行添加的时候,底层并未对值做任何判断,而是直接添加,所以可重复
2. 该集合底层是数组,那么该数组初始长度是多少??
- JDK1.6之前,底层数组长度为10;
- 之后,底层数组初始长度为0。
3. 如何入手查看源码??
(1) 看核心属性
- private static final int DEFAULT_CAPACITY = 10;
- 默认数组大小
- private static final Object[] EMPTY_ELEMENTDATA = {};
- 空数组
- private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
- 默认空数组
- transient Object[] elementData;
- 底层存储元素的数组
- private int size;
- 集合存储的元素个数
(2) 看核心构造器
-
public ArrayList() { this.elementData = DEFAULTCAPACITY_