当前位置: 首页 > 知识库问答 >
问题:

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

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

这是我的Kotlin代码,用于For循环。我试图打印与“banana”对应的索引,但结果是“System.out:位置是0.5”,它是如何变为0。。5.

共有3个答案

洪增
2023-03-14

您可以使用静态编程语言的forEachIndexed方法使用Index进行迭代

使用索引迭代

itemList.forEachIndexed{index, item -> 
println("index = $index, item = $item ")
}

检查项目是否为香蕉并打印索引

itemList.forEachIndexed{ index, item -> {
         if (item.equals("banana")) {println("position is ${index}")}
              }
白飞飙
2023-03-14

有以下索引:

返回元素的第一个索引,如果集合不包含元素,则返回-1。

和lastIndexOf:

返回元素的最后一个索引,如果集合不包含元素,则返回-1。

val items = listOf("apple", "banana", "kiwifruit")
val appleIndex = items.indexOf("apple") // 0
val lastAppleIndex = items.lastIndexOf("apple") // 0
val bananaIndex = items.indexOf("banana")  // 1
val orangeIndex = items.indexOf("orange")  // -1
顾泰平
2023-03-14

索引方法提供了一个范围,即0。。5,因为它在长度为6的字符串:banana上调用。

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

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

本文列出了使用索引进行迭代的替代方法。

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

println(items.indexOf("banana"))
 类似资料:
  • 问题内容: 现在,我知道在迭代循环中修改列表是不安全的。但是,假设我有一个字符串列表,并且我想剥离字符串本身。可变值的替换是否算作修改? 问题答案: 它被认为是不良形式。如果需要保留对列表的现有引用,请改用列表理解和切片分配。

  • 我正在尝试将POJO的jackson JSON字符串转换为JSON文件以导入MySQL。 我遇到的问题是,即使我在控制台中返回了JSON字符串,并且。json文件创建后,MySQL workbench抛出一个未处理的错误异常:bool()类型的对象没有长度 作为一个json文件,行为“true”。 如果我做文件被正确导入,但数据库中没有数据,如果被视为json,则只有一行。 我的POJO

  • 问题内容: 在Java中,如何获取Java中元素的当前索引? 在PHP中,您可以这样做: 问题答案: 您不能,您要么需要单独保存索引: 或使用普通的for循环: 原因是您可以使用压缩的语法在任何Iterable上循环,并且不能保证这些值实际上具有“索引”

  • 我有一个两个项目的列表,每个项目是一个文本字符串。我想围绕这两个项目循环,如果一个单词不在一组单词中,则基本上删除它。但是,下面的代码将所有单词放在一起,而不是创建两个单独的项。我希望我的更新列表包含两个项目,每个原始项目对应一个im更新:

  • 问题内容: 在遍历列表的Python循环中,我们可以编写: 并巧妙地遍历列表中的所有元素。有没有办法知道循环中到目前为止我循环了多少次?例如,我要列出一个清单,在处理完10个元素之后,我想对它们进行处理。 我考虑过的替代方案可能是: 要么: 是否有更好的方法(就像)来获得到目前为止的迭代次数? 问题答案: pythonic的方法是使用:

  • 问题内容: 我有一个清单 我想在如下所示的for循环中删除此列表中的元素: 但这是行不通的。我能做什么? 问题答案: 使用循环遍历列表时,不允许从列表中删除元素。 重写代码的最佳方法取决于你要执行的操作。 例如,你的代码等效于: 另外,你可以使用while循环: 我正在尝试删除符合条件的项目。然后我转到下一个项目。 你可以将每个不符合条件的元素复制到第二个列表中: 或者,你可以使用filter或列