Java:多维数组问题

时间:2011-09-06 17:39:21

标签: java multidimensional-array

在多维数组中,是否可以使用length变量 衡量第一个以外的其他尺寸?

4 个答案:

答案 0 :(得分:3)

是。长度尺寸因行而异。您可以matrix[i].length获取行i的长度。如果你知道矩阵是方形的,那么所有的行长度都会等于matrix[0].length,所以没关系。

如果你试图遍历所有元素:

for(int i = 0; i < matrix.length; i++){
    for(int j < 0; j < matrix[i].length; j++){
        count += matrix[i][j];
    }
}

同样的原则可适用于任何数量的维度。对于循环,每个维度需要1个嵌套循环。对于长度,每个括号部分实际上是一个新元素,因此3d数组ar将产生带有ar[i]的2d数组,带有ar[i][j]的1d和0d(数组类型的单个元素)与ar[i][j][k]

答案 1 :(得分:2)

@Test
public void test(){
    long[][][] multi = new long[3][2][1];
    System.out.println(multi.length); //3
    System.out.println(multi[0].length); //2
    System.out.println(multi[0][0].length); //1
}

答案 2 :(得分:0)

不确定。

array.length;
array[0].length;
array[1].length;

答案 3 :(得分:0)

嗯,不,你需要array[0].length来获得第二维的大小,而array[0][0].length来获得第三维的长度。当然,数组不是矩阵,因此array[0].lengtharray[1].length可能会有所不同,具体取决于您在array[0]处存储的子数组的大小。 array[1]