ArrayList元素的添加
public class ListTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
}
}
public boolean add(E e) {
ensureCapacityInternal(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
看下ensureCapacityInternal传递的参数size
private int size;
是一个被私有化的全局变量,默认值是0,再看下ensureCapacityInternal方法
private void ensureCapacityInternal

本文详细解析了ArrayList在添加元素时的源码过程,包括初始容量判断、扩容机制以及元素插入的具体步骤。通过ensureCapacityInternal和ensureExplicitCapacity方法确保容量足够,grow方法根据规则动态调整数组大小。总结指出,添加元素可能导致ArrayList扩容,最小容量为10,扩容策略为原长度的1.5倍或size+1(取较大值)。
最低0.47元/天 解锁文章
1003

被折叠的 条评论
为什么被折叠?



