要初始化2D数组,不需要嵌套循环。

时间:2013-04-25 21:57:29

标签: java arrays

要初始化2D数组,不需要嵌套循环?需要在数组中嵌套for循环来访问二维数组中的所有元素吗?

3 个答案:

答案 0 :(得分:2)

不,没有必要:

int[][] int2dArray = new int[][] {{1, 2, 3}, {4, 5}};
String[][] string2dArray = new String[][]{{"00", "01"}, {"10", "11"}};
BigInteger[][] bigint2dArray = new BigInteger[][] {
    { new BigInteger("1") },
    { new BigInteger("2"), new BigInteger("3") }
};

答案 1 :(得分:1)

实际上,您可以在单个循环中模拟增加两个索引。 m X n - 数组的大小

int i = 0;
int j = 0;
for (int k = 0; k < m*n; ++k) {
//Access your array
if (i < m)
++i;
else {
i = 0;
++j;
}
}

这样的事情应该有效。 循环内的条件也可以看起来像

i < m-1 && j < n-1

答案 2 :(得分:0)

如果要访问二维数组中的所有元素,即遍历数组,使用嵌套for循环是完成此任务的一种方法。

例如,假设你初始化了一个二维数组,如下所示:

int[][] array2D = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

for (int i = 0; i < array2D.length; i++) {

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

        //Do something with each element in the two-dimensional array.
        //For example:
        System.out.println(array2D[i][j]);

    }

}

上面的代码段将循环遍历二维数组中的每个元素,将每个元素打印出来。在内部for循环的每次迭代中,array2D [i] [j]表示二维数组中的当前元素。