Java中的二维网格大于二维数组

Java中的二维网格大于二维数组,java,arrays,Java,Arrays,我正在编写一个程序,将坐标作为输入,并在网格中概念化坐标,为此我使用了一个二维数组。问题是有些坐标大于10亿,我相信2D数组的最大大小大约在8亿左右。我知道我可以增加分配给JVM的内存以增加最大大小;但是,有没有一种方法可以在不超过默认最大大小的情况下执行此操作,或者另一个没有最大大小的x x x y网格系统?谢谢我理解你的意思吗?你会为(1,3)做这样的事情吗 如果代码需要一个大小相同的数组来存储坐标,请重新考虑程序的工作方式。另一种使用ArrayList或其他东西存储坐标的方法,其中每个条目

我正在编写一个程序,将坐标作为输入,并在网格中概念化坐标,为此我使用了一个二维数组。问题是有些坐标大于10亿,我相信2D数组的最大大小大约在8亿左右。我知道我可以增加分配给JVM的内存以增加最大大小;但是,有没有一种方法可以在不超过默认最大大小的情况下执行此操作,或者另一个没有最大大小的x x x y网格系统?谢谢

我理解你的意思吗?你会为(1,3)做这样的事情吗


如果代码需要一个大小相同的数组来存储坐标,请重新考虑程序的工作方式。另一种使用ArrayList或其他东西存储坐标的方法,其中每个条目都是数组中不同的占用位置。这样的话,你只会对被占用的点使用内存,而不会对没有被占用的点使用内存。因为如果你按照你计划的方式来做,你会对网格上的每个坐标使用32位,而你知道大多数坐标都是0。

这种方法如何回答问题?@HovercraftFullOfEels我不能使用注释,因为我的代表,否则我会使用注释来进行澄清。是的,我确实修改了它,所以我只需要填充的坐标,我只是想知道是否有一种方法可以制作更大的2D数组,或者我可以使用的另一种数据类型?为什么数组将一个索引大小与一个坐标步长相匹配?你能做一些除法,这样你的阵列就可以缩放了吗?只跟踪点怎么样?选项二:根据的稀疏数组。
[0][0][1][0]
[0][0][0][0]
[0][0][0][0]
[0][0][0][0]