索引在Kotlin数组中
我如何从一个Kotlin数组中获得一个值的索引?
我现在最好的解决方案是使用:
val max = nums.max() val maxIdx = nums.indices.find({ (i) -> nums[i] == max }) ?: -1
有没有更好的办法?
如果你想获得最大元素的索引,你可以使用'maxBy'函数:
val maxIdx = nums.indices.maxBy { nums[it] } ?: -1
这是更有效的,因为它只会遍历数组一次。
使用当前的Kotlin(1.0),你可以在数组上使用indexOf()
扩展函数 :
val x = arrayOf("happy","dancer","jumper").indexOf("dancer")
数组的所有扩展函数都可以在api参考中找到。
在你的例子中:
val maxIdx = nums.indexOf(nums.max())