如何获得索引在一个为每个循环?我想每次迭代都打印数字
例如
for (value in collection) {
if (iteration_no % 2) {
//do something
}
}
在java中,我们有传统的for循环
for (int i = 0; i < collection.length; i++)
如何得到i?
如何获得索引在一个为每个循环?我想每次迭代都打印数字
例如
for (value in collection) {
if (iteration_no % 2) {
//do something
}
}
在java中,我们有传统的for循环
for (int i = 0; i < collection.length; i++)
如何得到i?
当前回答
在这种情况下,范围也会导致可读的代码:
(0 until collection.size step 2)
.map(collection::get)
.forEach(::println)
其他回答
使用索引
for (i in array.indices) {
print(array[i])
}
如果你想要值和索引,使用withIndex()
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
参考:kotlin中的Control-flow
在这种情况下,范围也会导致可读的代码:
(0 until collection.size step 2)
.map(collection::get)
.forEach(::println)
请试一次。
yourList?.forEachIndexed { index, data ->
Log.d("TAG", "getIndex = " + index + " " + data);
}
除了@Audi提供的解决方案,还有forEachIndexed:
collection.forEachIndexed { index, element ->
// ...
}
试试这个;for循环
for ((i, item) in arrayList.withIndex()) { }