如果添加 null,ArrayList 会动态增长吗?

Abh*_*ngh 1 java arraylist

假设 Java 8。

默认大小ArrayList为 10(存储数据的数组大小默认为 10),当添加第 11 个元素时,数组大小增加到 15。

如果在第 11 个位置添加 null,它也会增加吗?

我知道调用size()list 会返回11,但问题是内部数组是否也会增长?

Kle*_*o G 6

public boolean add(E e) {
    ensureCapacityInternal(size + 1); 
    elementData[size++] = e;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这是 Java ArrayList 的 add 函数的实现。没有条件去处理null对象,这种情况下就当作普通对象处理,加入到ArrayList中。这将增加集合的大小,因为它仍然作为一个元素存在。

这也会增加 List 的内部大小。