In Python I can write:
for i, element in enumerate(my_list):
print(i) # the index, starting from 0
print(element) # the list-element
How can I write this in Kotlin?
Like already said, forEachIndexed
is a good way to iterate.
Alternative 1
The extension function withIndex
, defined for Iterable
types, can be used in for
-each:
val ints = arrayListOf(1, 2, 3, 4, 5)
for ((i, e) in ints.withIndex()) {
println("$i: $e")
}
Alternative 2
The extension property indices
is available for Collection
, Array
etc., which let's you iterate like in a common for
loop as known from C, Java etc:
for(i in ints.indices){
println("$i: ${ints[i]}")
}
There is a forEachIndexed
function in the standard library:
myList.forEachIndexed { i, element ->
println(i)
println(element)
}
See @s1m0nw1's answer as well, withIndex
is also a really nice way to iterate through an Iterable
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With