IndexOf в массивах Kotlin Как получить индекс значения из массива Kotlin? Мое лучшее решение прямо сейчас использует: val max = nums.max() val maxIdx = nums.indices.find({ (i) -> nums[i] == max }) ?: -1 есть ли лучший способ? Ответ 1 Если вы хотите получить индекс максимального элемента, вы можете использовать функцию "maxBy": val maxIdx = nums.indices.maxBy { nums[it] } ?: -1 Это более эффективно, поскольку он будет перемещаться по массиву только один раз. Ответ 2 С текущим Kotlin (1.0) вы можете использовать indexOf() функцию расширения на массивах: val x = arrayOf("happy","dancer","jumper").indexOf("dancer") Все функции расширения для массивов находятся в ссылка api. В вашем примере: val maxIdx = nums.indexOf(nums.max())
Ответ 1 Если вы хотите получить индекс максимального элемента, вы можете использовать функцию "maxBy": val maxIdx = nums.indices.maxBy { nums[it] } ?: -1 Это более эффективно, поскольку он будет перемещаться по массиву только один раз.
Ответ 2 С текущим Kotlin (1.0) вы можете использовать indexOf() функцию расширения на массивах: val x = arrayOf("happy","dancer","jumper").indexOf("dancer") Все функции расширения для массивов находятся в ссылка api. В вашем примере: val maxIdx = nums.indexOf(nums.max())