提问人:tycoon 提问时间:10/5/2020 最后编辑:Mark Rotteveeltycoon 更新时间:10/5/2020 访问量:82
ArrayList 与 Array 中的元素是如何分配的?[复制]
How are elements allocated in ArrayList vs Array? [duplicate]
问:
根据我正在读的一本书
数组列表的容量之间有一个重要的区别 以及数组的大小。如果分配一个包含 100 个条目的数组, 然后阵列有 100 个插槽,可供使用。带有 100 个元素的容量具有容纳 100 个元素的潜力 (事实上,超过 100 个,代价是额外的重新分配)—— 但是在开始时,即使在初始构造之后,数组列表 根本没有元素。
但是,我们也可以在不定义任何容量的情况下创建一个 ArrayList。
一个没有定义任何容量的 ArrayList 和一个有容量的 ArrayList 将如何分配其元素,以及我们何时应该使用一个元素?
唯一让我印象深刻的是,如果以两种方式(具有容量的 ArrayList 和没有容量的 ArrayList)来处理这些值,为什么我们会有容量,所以在我看来,唯一可能的原因是它们都持有不同的值。
答:
0赞
MarkAddison
10/5/2020
#1
提供初始分配的原因是预先分配保存该多个项目所需的内存表示形式,否则所有添加的项目都需要动态分配。请注意,一旦数组包含预分配项的数量,动态分配就变得必要。
评论
ArrayList
的源代码。这很容易理解。ArrayList
ArrayList
ArrayList