我们的家庭作业要求我们使用锯齿状数组来存储二维布尔矩阵的值。是否有针对锯齿状数组的内置java类,或者我将不得不使用ArrayLists数组手动创建它?
答案 0 :(得分:16)
在Java中,2D数组是一维数组对象的数组。每个1D阵列可以具有不同的长度,这意味着您可以开箱即用锯齿状阵列。
例如,以下是完全有效的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);
答案 1 :(得分:0)
实际上听起来你可能想要一个稀疏矩阵实现。如果您不得不修改矩阵,可以从中获得更好的性能。数组复制操作非常昂贵。 Sparse matrices / arrays in Java