如何从Kotlin数组中获取值的索引?
我现在最好的解决方案是使用:
val max = nums.max()
val maxIdx = nums.indices.find({ (i) -> nums[i] == max }) ?: -1
有更好的方法吗?
答案 0 :(得分:15)
如果你想得到你可以使用的最大元素的索引' maxBy'功能:
val maxIdx = nums.indices.maxBy { nums[it] } ?: -1
它更有效率,因为它只会遍历数组一次。
答案 1 :(得分:7)
使用当前的Kotlin(1.0),您可以在数组上使用indexOf()
extension function:
val x = arrayOf("happy","dancer","jumper").indexOf("dancer")
extension functions for arrays中找到了所有api reference。
在你的例子中:
val maxIdx = nums.indexOf(nums.max())