我正在研究一维生产发电机。我正在使用块来加载当前内容。我的问题是我使用数组未定义的大小来存储数据。如果我使用ArrayList,它会创建一个新的数组来扩展它,如果需要的话,但这不会造成垃圾吗?
使用大尺寸的缓冲阵列会更快,将数据存储到其中。根据长度创建块的新数组并将数据写入数据?
答案 0 :(得分:3)
如果您事先不知道阵列的确切大小,那么您将以任何方式创建垃圾。您要么完全分配数组的大小,要么最终必须分配新数组,复制旧数组中的值并转储旧引用。无论哪种方式,垃圾,以及ArrayList如何在内部工作。它实际上只是一个数组的List
包装器。
FWIW,我认为你是在干预这个问题。对象数组只是一个引用数组。在初始化之前,数组中的所有项目实际上都不会占用足够的空间来引用内存地址。