首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果添加null,ArrayList会动态增长吗?

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

Stack Overflow用户
提问于 2018-12-28 19:27:12
回答 2查看 93关注 0票数 1

假设Java 8。

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-28 19:29:42

代码语言:javascript
复制
public boolean add(E e) {
    ensureCapacityInternal(size + 1); 
    elementData[size++] = e;
    return true;
}

这是Java的ArrayList的add函数的实现。没有处理null对象的条件,在这种情况下,它被视为普通对象并添加到ArrayList中。这将增加Collection的大小,因为它仍然作为元素存在。

这也会增加列表的内部大小。

票数 6
EN

Stack Overflow用户

发布于 2018-12-28 19:36:04

ArrayLists包含对存储在其他位置(内存中称为堆的位置)的对象的引用数组。因此,即使添加null,它的引用也会导致内部数组增长。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53957837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档