gpt4 book ai didi

java - 处理未定义大小的数组

转载 作者:行者123 更新时间:2023-12-01 21:17:35 27 4
gpt4 key购买 nike

我正在研究一维生成器。我使用 block 来仅加载当前内容。我的问题是我使用未定义大小的数组来存储数据。如果我使用 ArrayList,它会创建一个新数组来扩展它(如果需要),但这不会产生垃圾吗?

使用大尺寸的缓冲区数组将数据存储到其中会更快吗?根据长度创建一个新的 block 数组并保存数据?

最佳答案

如果您事先不知道数组的确切大小,那么无论哪种方式都会产生垃圾。您要么过度分配数组的大小,要么最终必须分配一个新数组,从旧数组复制值并转储旧引用。不管怎样,都是垃圾,这就是 ArrayList 内部的工作原理。它实际上只是一个数组的 List 包装器。

FWIW,我认为你对这个问题想得太多了。对象数组只是引用数组。在初始化数组之前,数组中的所有项目实际上都只是保留足够的空间来引用内存地址。

关于java - 处理未定义大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707847/

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