2D网格比Java中的2D数组更大

时间:2016-10-03 17:03:30

标签: java arrays

我正在编写一个以坐标为输入的程序,并将网格中的坐标概念化,我使用2D数组。问题是一些坐标大于十亿,我相信2D阵列的最大尺寸大约是8亿。我知道我可以增加分配给JVM的内存来增加最大大小;但有没有办法做到这一点,而不超过默认的最大尺寸,或另一个没有最大尺寸的x x网格系统?感谢

1 个答案:

答案 0 :(得分:-1)

我理解你了吗?对于(1,3)你会做这样的事情吗?

[0][0][1][0]
[0][0][0][0]
[0][0][0][0]
[0][0][0][0]

如果您的代码需要该大小的数组来存储坐标,请重新考虑您的程序的工作方式。使用ArrayList存储坐标的另一种方法,或者每个条目在数组中的不同占用位置。那样你只使用内存来占用被占用的点,而不是那些不被占用的点。因为如果按照计划的方式进行,当你知道它们中的大多数将为0时,你将在网格上使用32位作为每个坐标。