gpt4 book ai didi

java - ArrayList:大小如何增加?

转载 作者:IT老高 更新时间:2023-10-28 13:53:04 25 4
gpt4 key购买 nike

我有一个关于 Java ArrayList 的基本问题。

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

我查看了 Java 1.4.2 的 ArrayList API 文档。但我没有找到答案。

请分享知识。谢谢。

编辑:新链接:

最佳答案

创建一个新数组,并复制旧数组的内容。这就是您在 API 级别所知道的全部内容。引自 the docs (我的重点):

Each ArrayList instance has a capacity. The capacity is the size of the array used to store the elements in the list. It is always at least as large as the list size. As elements are added to an ArrayList, its capacity grows automatically. The details of the growth policy are not specified beyond the fact that adding an element has constant amortized time cost.

ArrayList 的特定实现(例如 Sun 的)实际发生的情况而言,您可以在源代码中看到血淋淋的细节。但当然,依赖特定实现的细节通常不是一个好主意...

关于java - ArrayList:大小如何增加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4450628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com