1.ArryList扩容机制
- ArryList中维护了一个Object类型的数组ElementData
- 当创建ArryList对象时,如果使用的是无参构造,则初始ElementData的容量为0,第一次添加则扩容ElementData为10,如需再次扩容,扩容为原来的1.5倍
- 如果使用的是指定大小的构造器,则初始ElementData的容量为指定大小,如需再次扩容,扩容为原来的1.5倍
public boolean add(E e) {
ensureCapacityInternal(size + 1); // 先确定是否需要扩容
elementData[size++] = e;//然后再执行扩容
return true;
}
private void ensure