我读了Java:The Complete Reference(第9版).在字符5:控制语句 - 迭代多维数组部分写:
for的增强版本也适用于多维数组.但请记住,在Java中,多维数组由数组数组组成.(例如,二维数组是一维数组的数组.)这在迭代多维数组时很重要,因为每次迭代都会获得下一个数组,而不是单个元素.此外,for循环中的迭代变量必须与所获得的数组类型兼容.例如,在二维数组的情况下,迭代变量必须是对一维数组的引用.通常,当使用for-each迭代N维的数组时,获得的对象将是N-1维的数组.要了解这一点的含义,请考虑以下程序.它使用嵌套for循环以行顺序从第一个到最后一个获取二维数组的元素.
我无法理解为什么"迭代N维的数组,获得的对象将是N-1维的数组".这是真的吗?
的阵列Ñ尺寸是真的(阵列Ñ -1)维阵列.因此,当我们遍历N维数组时,我们正在遍历其所有组成(N -1)维数组,如图所示.
例如,考虑一个二维数组:
int[][] array = {{1,2,3}, {4,5,6}};
Run Code Online (Sandbox Code Playgroud)
这实际上是一维数组:{1,2,3}和{4,5,6}.
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |