为了账号安全,请及时绑定邮箱和手机立即绑定

关于ArryList初始化后容量的问题

在API中可以看到这样一句:ArrayList()是构造一个初始容量为 10 的空列表。我知道调用size方法是查询相应的元素的数量,但对于视频中数组下标越界这一点还有点疑惑。

如果调用add方法插入元素时,list的长度也为元素的数量,那么ArrayList()方法初始化出来的容量为10的空列表有什么用?

正在回答

3 回答

ArrayList的底层是由一个Object[]数组构成的, 
而这个Object[]数组,默认的长度是10 
所以有的文章会说ArrayList长度容量为10。 
然而你所指的size()方法,只的是“逻辑”长度。 
所谓“逻辑”长度,是指内存已存在的“实际元素的长度” 
而“空元素不被计算” 
即:当你利用add()方法,向ArrayList内添加一个“元素”时, 
逻辑长度就增加1位。 而剩下的9个空元素不被计算。

1 回复 有任何疑惑可以回复我~
#1

sioneden 提问者

非常感谢!
2015-03-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

关于ArryList初始化后容量的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信