用Java测试数组的多个维度的长度

时间:2011-09-14 01:36:41

标签: java arrays

我是Java noob 。我现在不太了解这种语言(至少,不足以做复杂的事情),但我到了那里!

我知道你可以通过arr.length来测试单维数组的长度,但是可以测试其他维度(在多维数组中)吗?

4 个答案:

答案 0 :(得分:6)

是的,确实如此。显然,要测试第一个维度,您只需arr.length。使用length和该特定维度的[0]元素测试后续维度。例如,考虑这个数组:

int[][][][] arr = new int[10][11][12][13];

测试......

  • 第一维:arr.length;

  • 第二维:arr[0].length;

  • 第三维:arr.[0][0].length;

  • 第四维:arr.[0][0][0].length;

答案 1 :(得分:6)

多维数组只是一个数组数组,数组中的每个数组都有不同的长度。即:

int arr[][] = new int[2][];
arr[0] = new int[5];
arr[1] = new int[10];
System.out.println(arr.length);
System.out.println(arr[0].length);
System.out.println(arr[1].length);

现在你有了一个二维数组。第一维(外部)可以称为arr并且具有大小2.内部阵列可以被称为arr [0]和arr [1]并且分别具有长度5和10。由于每个都引用了普通的Java数组,因此您可以使用所有常规方法来访问它们。此外,由于我们通过将数组放入数组来创建多维数组,因此您可以拥有任意数量的维度,并通过索引到上面的某个维度来访问每个更高级别:arr[2][1][5][11][3][0][123][5][42][9][7]....length

答案 2 :(得分:2)

例如,假设是一个2D数组,您可以使用i访问arr[i].length th 内部数组的长度。

如果您还没看过,请查看Arrays (The Java™ Tutorials)

答案 3 :(得分:1)

您可以直接引用要测试的尺寸来测试其他尺寸的其他尺寸。

例如,如果您在主要维度中有一个包含3个项目的二维数组,那么您可以使用arr [0] .length,arr [1] .length和arr [2]来确定每个数组的长度。 ]。长度。

下面的代码只是设置一个数组,然后验证长度是我们期望的长度。

public void testLength(){
    //setup the array you are wanting to test
    int[][] foo = new int[2][5];
    // this just makes sure that we do get 2 dimensions within the primary
    Assert.assertEquals(2,foo.length);
    Assert.assertEquals(5,foo[0].length);

    // change the array stored within foo[0]
    foo[0]= new int[8];
    Assert.assertEquals(8,foo[0].length);       
}