Von List
bis Map
mit associate
Funktion
Mit Kotlin 1.3 List
hat eine Funktion aufgerufen associate
. associate
hat die folgende Erklärung:
fun <T, K, V> Iterable<T>.associate(transform: (T) -> Pair<K, V>): Map<K, V>
Gibt ein Map
Schlüssel-Wert-Paar zurück, das von einer transform
Funktion bereitgestellt wird , die auf Elemente der angegebenen Sammlung angewendet wird.
Verwendung:
class Person(val name: String, val id: Int)
fun main() {
val friends = listOf(Person("Sue Helen", 1), Person("JR", 2), Person("Pamela", 3))
val map = friends.associate({ Pair(it.id, it.name) })
//val map = friends.associate({ it.id to it.name }) // also works
println(map) // prints: {1=Sue Helen, 2=JR, 3=Pamela}
}
Von List
bis Map
mit associateBy
Funktion
Mit Kotlin List
hat eine Funktion aufgerufen associateBy
. associateBy
hat die folgende Erklärung:
fun <T, K, V> Iterable<T>.associateBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map<K, V>
Gibt a zurück, Map
das die Werte enthält, die valueTransform
von keySelector
Funktionen bereitgestellt und indiziert werden , die auf Elemente der angegebenen Sammlung angewendet werden.
Verwendung:
class Person(val name: String, val id: Int)
fun main() {
val friends = listOf(Person("Sue Helen", 1), Person("JR", 2), Person("Pamela", 3))
val map = friends.associateBy(keySelector = { person -> person.id }, valueTransform = { person -> person.name })
//val map = friends.associateBy({ it.id }, { it.name }) // also works
println(map) // prints: {1=Sue Helen, 2=JR, 3=Pamela}
}