首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.indices在kotlin中的意思是什么?

.indices在kotlin中的意思是什么?
EN

Stack Overflow用户
提问于 2017-06-01 09:37:57
回答 3查看 7.7K关注 0票数 12

我想知道.indices实际上是如何工作的,这两个for循环之间的主要区别是什么。

代码语言:javascript
复制
for (arg in args)
    println(arg)

代码语言:javascript
复制
for (i in args.indices)
    println(args[i])

withIndex()函数的用途是什么?

代码语言:javascript
复制
for ((index, value) in array.withIndex()) {
    println("the element at $index is $value")
}
EN

回答 3

Stack Overflow用户

发布于 2017-06-01 09:44:53

正如文档中提到的,索引是列表中的索引值。

返回此集合的有效索引的IntRange。

有关更多详细信息,请参阅文档

票数 2
EN

Stack Overflow用户

发布于 2020-05-04 07:33:19

indices返回集合的IntRange(从第一个到最后一个位置的索引范围),例如:

代码语言:javascript
复制
val array= arrayOf(10,20,30,40,50,60,70)

println("Indices: "+array.indices) // output: Indices: 0..6  

在这个问题中,两个循环都在做相同的事情,只是迭代任何集合的方式不同(正如@zsmb13 13所提到的那样),但是,第二个for循环并不像第一个循环那样创建迭代器对象。

indices返回IntRange,因此必须检查IntRange这些有用方法

票数 0
EN

Stack Overflow用户

发布于 2021-03-27 13:22:01

当我写

代码语言:javascript
复制
for (i in 0..searchResultsTemp.items.size-1 )
        { " la-la-la "}, 

我想处理集合的每一项,但是我不使用forEach操作符,我可以访问集合项的索引。然后,内置的Android助手建议我将这个表达式自动替换为

代码语言:javascript
复制
 for (i in searchResultsTemp.items.indices)
        { " la-la-la "}

这是一样的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44303914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档