ArrayList扩容

ArrayList中添加元素时,若数组容量小于添加元素后长度,则创建一个新的数组,数组长度为原长度的 3/2 倍,然后将旧的数组内容复制到新的数组

// 注释:>> 1 的意思是除2,<< 1的意思是乘2,位计算效率会更高
//参见JDK1.8.0_121 ArrayList.java:255
int newCapacity = oldCapacity + (oldCapacity >> 1);
...
elementData = Arrays.copyOf(elementData,newCapacity);

Leave a Comment