【发布时间】:2017-11-13 13:17:28
【问题描述】:
我创建了一个名为 squareData 的二维数组,如下所示:
private lateinit var squareData: Array<Array<String>>
squareData = Array(3, {Array(3, {""})})
另外,我用一些随机值初始化了这个数组。现在我想一一获取这些值。我如何使用 for 或 forEachIndexed 循环来做到这一点?
【问题讨论】:
我创建了一个名为 squareData 的二维数组,如下所示:
private lateinit var squareData: Array<Array<String>>
squareData = Array(3, {Array(3, {""})})
另外,我用一些随机值初始化了这个数组。现在我想一一获取这些值。我如何使用 for 或 forEachIndexed 循环来做到这一点?
【问题讨论】:
你可以像这样在数组中迭代:
for (strings in squareData) {
for (string in strings) {
Your code here
}
}
第一个 for 遍历第一个维度,所以它有字符串数组,第二个遍历第二个维度,所以它有字符串值
【讨论】:
您可以使用常规的嵌套 for 循环。
for (arr in squareData) {
for (s in arr) {
println(s)
}
}
你可以使用forEach进行迭代:
squareData.forEach { it.forEach(::println) }
或者如果你也想要索引位置,forEachIndexed:
squareData.forEachIndexed { i,it -> println(i); it.forEach(::println) }
【讨论】: