Answers:
除了@Audi提供的解决方案之外,还有forEachIndexed
:
collection.forEachIndexed { index, element ->
// ...
}
break
里面有什么使用方法 吗?
return@forEachIndexed
从根本continue
上跳到下一个元素。如果需要中断,则必须将其包装在一个函数中,并return
在循环中使用以从该封闭函数中返回。
用 indices
for (i in array.indices) {
print(array[i])
}
如果您想要值和索引使用 withIndex()
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
参考:Kotlin中的控制流
另外,您可以使用withIndex
库函数:
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
控制流:是否,何时,何时,何时:https : //kotlinlang.org/docs/reference/control-flow.html
看来您真正要寻找的是 filterIndexed
例如:
listOf("a", "b", "c", "d")
.filterIndexed { index, _ -> index % 2 != 0 }
.forEach { println(it) }
结果:
b
d
.forEach(::println)
在以下情况下,范围也会导致代码可读:
(0 until collection.size step 2)
.map(collection::get)
.forEach(::println)
(0..collection.lastIndex step 2)