associateWith

inline fun <V> CharSequence.associateWith(valueSelector: (Char) -> V): Map<Char, V>(source)

Returns a Map where keys are characters from the given char sequence and values are produced by the valueSelector function applied to each character.

If any two characters are equal, the last one gets added to the map.

The returned map preserves the entry iteration order of the original char sequence.

Since Kotlin

1.3

Samples

import java.util.Locale
import kotlin.test.*

fun main() { 
   //sampleStart 
   val string = "bonne journée"
// associate each character with its code
val result = string.associateWith { char -> char.code }
// notice each letter occurs only once
println(result) // {b=98, o=111, n=110, e=101,  =32, j=106, u=117, r=114, é=233} 
   //sampleEnd
}