我想知道.indices实际上是如何工作的,这两个for循环之间的主要区别是什么。
for (arg in args)
println(arg)或
for (i in args.indices)
println(args[i])withIndex()函数的用途是什么?
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}发布于 2017-06-01 09:44:53
发布于 2020-05-04 07:33:19
indices返回集合的IntRange(从第一个到最后一个位置的索引范围),例如:
val array= arrayOf(10,20,30,40,50,60,70)
println("Indices: "+array.indices) // output: Indices: 0..6 在这个问题中,两个循环都在做相同的事情,只是迭代任何集合的方式不同(正如@zsmb13 13所提到的那样),但是,第二个for循环并不像第一个循环那样创建迭代器对象。
indices返回IntRange,因此必须检查IntRange的这些有用方法
发布于 2021-03-27 13:22:01
当我写
for (i in 0..searchResultsTemp.items.size-1 )
{ " la-la-la "}, 我想处理集合的每一项,但是我不使用forEach操作符,我可以访问集合项的索引。然后,内置的Android助手建议我将这个表达式自动替换为
for (i in searchResultsTemp.items.indices)
{ " la-la-la "}这是一样的。
https://stackoverflow.com/questions/44303914
复制相似问题