如何在 Kotlin 的 forEach 循环中获取元素索引?
你好!我是 Kotlin 新手,从 Java 转过来。在 Java 中,我习惯使用带索引的普通 for 循环:
```java
for (int i = 0; i < list.size(); i++) {
System.out.println("Index: " + i + ", Value: " + list.get(i));
}
```
但在 Kotlin 中,我看到大家都推荐使用 forEach:
```kotlin
list.forEach { item ->
println(item)
}
```
问题在于,我经常需要知道元素的索引(位置),而不仅仅是值。例如,我在 Android 中做一个任务列表,想显示每个任务的序号。或者我想检查元素是否是列表中的最后一个。
我尝试过这样做:
```kotlin
var index = 0
list.forEach { item ->
println("$index: $item")
index++
}
```
但这看起来很笨拙且不可靠。如果循环内部有 break 或 return,索引就会错乱。我还听说 Kotlin 有 withIndex() 函数,但不知道如何正确使用。
请告诉我如何正确且优雅地获取