当arraylist中的元素少于其容量时会发生什么?

sf6xfgos  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(328)

假设容量为10,我在arraylist中添加5个元素。它们在内存中的大小是5个元素还是10个元素?

gmxoilav

gmxoilav1#

javadoc声明:
每个 ArrayList 示例有容量。容量是用于存储列表中元素的数组的大小。它总是至少和列表大小一样大。当元素添加到 ArrayList ,其容量自动增长。除了添加一个元素具有固定的摊余时间成本这一事实之外,增长策略的细节没有被指定。
基于以上:
当环境中的元素较少时会发生什么 ArrayList 比它的容量还大?
假设后备阵列的大小是“容量”,那么阵列中将有未使用的插槽。
(该实现确保那些未使用的插槽包含 null 以避免任何内存泄漏。)
假设容量是10,我加了5个元素 ArrayList . 它们在内存中的大小是5个元素还是10个元素?
大小将是10个对象引用的大小,因为 ArrayList 保存对对象的引用。。。而不是实际的元素对象本身。

相关问题