associate By
Начиная с Kotlin: 1.0
inline fun <K> CharSequence.associateBy(keySelector: (Char) -> K): Map<K, Char>
Возвращает Map, содержащую символы заданной последовательности символов, индексированные ключами, которые возвращает функция keySelector, применённая к каждому символу.
Если для каких-либо двух символов функция keySelector возвращает одинаковый ключ, в карту добавляется последний из них.
Возвращаемая карта сохраняет порядок итерации записей исходной последовательности символов.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val string = "bonne journée"
// associate each character by its code
val result = string.associateBy { char -> char.code }
// notice each char code occurs only once
println(result) // {98=b, 111=o, 110=n, 101=e, 32= , 106=j, 117=u, 114=r, 233=é}
//sampleEnd
}
inline fun <K, V> CharSequence.associateBy(keySelector: (Char) -> K, valueTransform: (Char) -> V): Map<K, V>
Возвращает Map, содержащую значения, предоставленные функцией valueTransform, и индексированные ключами, которые возвращает функция keySelector, применённая к символам заданной последовательности символов.
Если для каких-либо двух символов функция keySelector возвращает одинаковый ключ, в карту добавляется последний из них.
Возвращаемая карта сохраняет порядок итерации записей исходной последовательности символов.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val string = "bonne journée"
// associate each character by the code of its upper case equivalent and transform the character to upper case
val result = string.associateBy({ char -> char.uppercaseChar().code }, { char -> char.uppercaseChar() })
// notice each char code occurs only once
println(result) // {66=B, 79=O, 78=N, 69=E, 32= , 74=J, 85=U, 82=R, 201=É}
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/associate-by.html