1.数据结构
Object[] elementData;
数组
2.默认大小
private static final int DEFAULT_CAPACITY = 10;
3.扩容机制(能被2整除则是1.5倍,不能整除的会小于1.5倍)
int newCapacity = oldCapacity + (oldCapacity >> 1);
如原先是10 则扩容后 10+10/2=15
如原先是15则扩容后 15+15/2=15+7=22
4.add 方法
public static void main(String[] args) { // private static final int DEFAULT_CAPACITY = 10; ArrayList<Integer> integers = new ArrayList<>(); for (int i = 0; i < 10; i++) { integers.add(i); // // ensureCapacityInternal(size + 1); //1.初始化容器及确保内存够用 // if (minCapacity - elementData.length > 0) // grow(minCapacity); // int newCapacity = oldCapacity + (oldCapacity >> 1); //elementData[size++] = e; //2.确定位置,赋值 } }