ArrayList:大小如何增加?

我对Java有一个基本问题ArrayList

ArrayList使用默认构造函数声明和初始化时,将创建10个元素的内存空间。现在,当我添加第11个元素时,会发生什么?是否将创建具有20个(或更多)元素容量的新内存空间(这需要将元素从第一个内存位置复制到新位置)或其他东西?

我在这里检查。但是我没有找到答案。

请分享知识。谢谢。

回答:

创建一个新数组,并将旧数组的内容复制过来。这就是您在API级别上所知道的。引用文档(我的重点):

每个ArrayList实例都有一个容量。容量是用于在列表中存储元素的数组的大小。它总是至少与列表大小一样大。将元素添加到ArrayList后,其容量会自动增长。

关于特定实现ArrayList(如Sun的实现)的实际发生方式,在这种情况下,您可以在源代码中看到细节。但是当然,依靠特定实现的细节通常不是一个好主意…

以上是 ArrayList:大小如何增加? 的全部内容, 来源链接: utcz.com/qa/403597.html

回到顶部