要初始化2D数组,不需要嵌套循环?需要在数组中嵌套for循环来访问二维数组中的所有元素吗?
答案 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]表示二维数组中的当前元素。