我在Java中有一个数组int[] A = new int[100000],我想创建数百万个A子数组。在C ++中,我将使用指针数组。我可以创建ArrayList<Integer> subA并存储对A元素的引用,这样我就不会消耗太多内存。
目前,我确实创建了int[] subA = new int[some value less than A.length]对象,该对象非常昂贵并且会耗尽内存。

最佳答案

List.subList()这样做:它在原始列表上创建一个视图。您可能会使用它来节省内存,因为子列表只有以下4个字段:


引用外部列表
抵销
尺寸
modCount


因此,每个子列表将消耗大约20个字节。

09-10 07:15
查看更多