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.
您可以使用静态编程语言的forEachIndexed
方法使用Index进行迭代
使用索引迭代
itemList.forEachIndexed{index, item ->
println("index = $index, item = $item ")
}
检查项目是否为香蕉并打印索引
itemList.forEachIndexed{ index, item -> {
if (item.equals("banana")) {println("position is ${index}")}
}
有以下索引:
返回元素的第一个索引,如果集合不包含元素,则返回-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
索引方法提供了一个范围,即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或列