Avatar ·

如何在 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() 函数,但不知道如何正确使用。 请告诉我如何正确且优雅地获取