ArrayList的add相关知识

ArrayList的add相关知识


默认长度代码块

使用DEFAULT_CAPACITY = 10来初始化数组集合的长度,具体代码如下
if (elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {
minCapacity = Math.max(DEFAULT_CAPACITY, minCapacity);
}

扩容

使用minCapacity - elementData.length > 0判断如果空间用完则开始扩容,
使用 oldCapacity + (oldCapacity >> 1)进行扩容,每次1.5倍;
备注:10 >> 1,10的二进制1010向右移动1位得到二进制101则十进制是5,最后获得10+5,扩容长度由10变为15

目录

猜你喜欢

转载自blog.csdn.net/hfc189933/article/details/81940723