要初始化 2D 数组,不需要嵌套循环?需要数组中的嵌套for循环来访问二维数组中的所有元素吗?
问问题
1110 次
3 回答
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") }
};
于 2013-04-25T22:00:45.027 回答
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
于 2013-04-25T22:04:45.967 回答
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] 表示二维数组中的当前元素。
于 2013-04-25T22:04:29.293 回答