android - 如何在 Android Kotlin 的 For 循环中获取列表项的索引?

标签 android for-loop indexing kotlin

fun forLoopListItems() {
        val items = listOf("apple", "banana", "kiwifruit")
        for (i in items) {
            if (i.equals("banana")) {
              println("position is ${i.indices}")
            }
        }
    }

这是与 For 循环一起使用的我的 Kotlin 代码。 我试图打印与“香蕉”对应的索引 但结果是“System.out:位置是 0..5” 它是如何变成 0..5 的?

最佳答案

indices方法为您提供一个范围,在本例中为 0..5,因为它是在长度为 6 的 String: banana 上调用的。

您可以改为使用索引进行迭代,如下所示:

items.forEachIndexed { i, element ->
    if (element == "banana") {
        println("position is $i")
    }
}

post 中列出了使用索引进行迭代的替代方法.

不过,我不确定您是否真的想要显式迭代。也许您可以使用内置函数来查找元素的索引:

println(items.indexOf("banana"))

关于android - 如何在 Android Kotlin 的 For 循环中获取列表项的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49608373/

相关文章:

javascript - 对 XML 文档中的特殊字符进行转义

mysql - 如何优化MySQL表?

python - 通过第二个索引访问 pandas groupby multiindex

java - 使用 GSON 解析 Youtube JSONC

java - noSuchMethod 错误来了

r - 将数据框添加为列表元素(用于循环)

database - Oracle 索引勉强加速聚合计算

android - 使用带有默认 Android 主题的自定义 ListView 适配器

java - Android使用TargetApi实现接口(interface)

python - 我将如何在 python 中找到每 13 行的最大值?