【发布时间】:2012-05-03 12:47:42
【问题描述】:
我们的家庭作业要求我们使用锯齿状数组来存储二维布尔矩阵的值。是否有用于锯齿状数组的内置 java 类,还是我必须使用 ArrayLists 的 Array 手动创建它?
【问题讨论】:
标签: java arrays matrix multidimensional-array jagged-arrays
我们的家庭作业要求我们使用锯齿状数组来存储二维布尔矩阵的值。是否有用于锯齿状数组的内置 java 类,还是我必须使用 ArrayLists 的 Array 手动创建它?
【问题讨论】:
标签: java arrays matrix multidimensional-array jagged-arrays
在 Java 中,二维数组是一维数组对象的数组。每个一维数组可以有不同的长度,这意味着您可以得到开箱即用的锯齿状数组。
例如,以下是完全有效的Java,并打印出3 5 3 4:
int x[][] = {{0,1,2,3,4},{0,1,2},{0,1,2,3}};
System.out.println(x.length);
System.out.println(x[0].length);
System.out.println(x[1].length);
System.out.println(x[2].length);
【讨论】:
x[1] = Arrays.copyOf(x[1], newLength);
听起来您实际上可能想要一个稀疏矩阵实现。如果您必须修改矩阵,则可以从中获得更好的性能。数组复制操作非常昂贵。 Sparse matrices / arrays in Java
【讨论】: