Как получить ключ индекса в TreeMap - PullRequest
1 голос
/ 01 мая 2020

Я хочу получить ключ из его индекса в TreeMap. Я могу сделать это в Java Object firstKey = myMap.keySet().toArray()[index]; Но как я могу добиться того же в Kotlin?

Ответы [ 2 ]

4 голосов
/ 01 мая 2020

Вы можете добиться того же в Kotlin, используя map.keys.elementAt(index)

import java.util.TreeMap

fun main() {
   val index = 0
   val map = TreeMap<String, String>()
   map.put("1", "Test")
   map.put("2", "Test2")
   val obj = map.keys.elementAt(index)
   print(obj)
}
2 голосов
/ 01 мая 2020

Если вам по какой-то причине необходимо придерживаться вызова toArray()[index], вы можете использовать myMap.keys.toTypedArray()[index], см. Пример ниже:

import java.util.TreeMap

fun main() {
    val map = TreeMap<String, String>()
    map.put("key", "value")
    println(map.keys.toTypedArray()[0])
}

В противном случае подход @ Marek с использованием myMap.keys.elementAt(index) идеально хорошо.

...