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

来源:4-4 学生选课---添加课程 Ⅰ

sioneden

2015-01-24 17:08

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

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

写回答 关注

1回答

  • 伊兮尘昔
    2015-01-26 14:02:53
    已采纳

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

    sioned...

    非常感谢!

    2015-03-03 20:24:47

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题