【发布时间】:2015-09-09 11:44:57
【问题描述】:
我希望我的程序中有一个无限的二维数组。我有以下二维数组代码:
int a[][]=new int[10][10];
但问题是数组是固定长度的,有行值和列值。
【问题讨论】:
-
Java 中的数组是固定大小的。
-
“无限”是指一个永远存在的数组?你看过 ArrayLists 吗? (只是让你知道,它们不会永远持续下去)
-
根据矩阵的稀疏程度,您可以考虑实现一个数组结构,每个数组代表一个巨大(且大部分为空)整体的一小部分。
-
如果您解释为什么它需要“无限”,您可能会得到更好的答案。您似乎希望在不指定最大 X 或 Y 的情况下为某些 X,Y 坐标设置一个 int 值。您不能在内存中存储无限数据,因此很明显您需要考虑特定 X,Y 坐标值(或2D 值范围)需要初始化和/或修改以及何时需要读取。当需要向用户显示信息时,或者数据非常稀疏时,您可能需要加载有限二维数组的“页面”,Map
> 可能是最佳解决方案。