С карты мы могли бы использовать map
, чтобы легко разбить список, используя
mapNumber.map{ it.key }
Однако, если мне нужны оба списка, и я хочу избежать выполнения map
дважды
val numbersInt = mapNumbers.map{ it.key }
val numbersStr = mapNumbers.map{ it.value }
Чтобы я мог написать что-то ниже
fun main(args: Array<String>) {
val mapNumbers = mapOf(Pair(1, "one"), Pair(2, "two"), Pair(3, "three"))
val numbersInt = mutableListOf<Int>()
val numbersStr = mutableListOf<String>()
for ((key, value) in mapNumbers) {
numbersInt.add(key)
numbersStr.add(value)
}
print(numbersInt)
print(numbersStr)
}
Но это нехорошо, так как я должен использовать mutableListOf
. Интересно, есть ли какая-нибудь функция сбора, которая могла бы помочь нам достичь этого?