- ArrayList() 会使用长度为零的数组
- ArrayList(int initialCapacity) 会使用指定容量的数组
- public ArrayList(Collection extends E> c) 会使用 c 的大小作为数组容量
- add(Object o) 首次扩容为 10,再次扩容为上次容量的 1.5 倍
- addAll(Collection c) 没有元素时,扩容为 Math.max(10, 实际元素个数),有元素时为 Math.max(原容量 1.5 倍, 实际元素个数)




10扩容成15
10>>1=5 10+5=15
15扩容成22
15>>1=7 15+7=22
没有元素时,扩容为 Math.max(10, 实际元素个数)


有元素时为 Math.max(原容量 1.5 倍, 实际元素个数)

