我有一个关于 Java 的基本问题 ArrayList
。
当使用默认构造函数声明和初始化 ArrayList
时,将创建 10 个元素的内存空间。现在,当我添加第 11 个元素时,会发生什么?是否会创建具有 20 个(或更多)元素容量的新内存空间(这需要将元素从第一个内存位置复制到新位置)或其他内容?
我检查了 ArrayList
Java 1.4.2 的 API 文档。但我没有找到答案。
请分享知识。谢谢。
编辑:新链接:
原文由 crazyTechie 发布,翻译遵循 CC BY-SA 4.0 许可协议
创建一个新数组并复制旧数组的内容。这就是您在 API 级别所知道的全部内容。引用 文档(我的重点):
就
ArrayList
(例如 Sun 的)的特定实现而言,它实际上是如何发生的,在他们的情况下,您可以在源代码中看到血淋淋的细节。但是,当然,依赖于特定实现的细节通常不是一个好主意……