W3cubDocs

/Kotlin

associateWith

Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)
inline fun <K, V> Array<out K>.associateWith(
    valueSelector: (K) -> V
): Map<K, V>
inline fun <V> ByteArray.associateWith(
    valueSelector: (Byte) -> V
): Map<Byte, V>
inline fun <V> ShortArray.associateWith(
    valueSelector: (Short) -> V
): Map<Short, V>
inline fun <V> IntArray.associateWith(
    valueSelector: (Int) -> V
): Map<Int, V>
inline fun <V> LongArray.associateWith(
    valueSelector: (Long) -> V
): Map<Long, V>
inline fun <V> FloatArray.associateWith(
    valueSelector: (Float) -> V
): Map<Float, V>
inline fun <V> DoubleArray.associateWith(
    valueSelector: (Double) -> V
): Map<Double, V>
inline fun <V> BooleanArray.associateWith(
    valueSelector: (Boolean) -> V
): Map<Boolean, V>
inline fun <V> CharArray.associateWith(
    valueSelector: (Char) -> V
): Map<Char, V>
@ExperimentalUnsignedTypes inline fun <V> UIntArray.associateWith(
    valueSelector: (UInt) -> V
): Map<UInt, V>
@ExperimentalUnsignedTypes inline fun <V> ULongArray.associateWith(
    valueSelector: (ULong) -> V
): Map<ULong, V>
@ExperimentalUnsignedTypes inline fun <V> UByteArray.associateWith(
    valueSelector: (UByte) -> V
): Map<UByte, V>
@ExperimentalUnsignedTypes inline fun <V> UShortArray.associateWith(
    valueSelector: (UShort) -> V
): Map<UShort, V>

Returns a Map where keys are elements from the given array and values are produced by the valueSelector function applied to each element.

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

The returned map preserves the entry iteration order of the original array.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val words = listOf("a", "abc", "ab", "def", "abcd")
val withLength = words.associateWith { it.length }
println(withLength.keys) // [a, abc, ab, def, abcd]
println(withLength.values) // [1, 3, 2, 3, 4]
//sampleEnd
}
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)
inline fun <K, V> Iterable<K>.associateWith(
    valueSelector: (K) -> V
): Map<K, V>

Returns a Map where keys are elements from the given collection and values are produced by the valueSelector function applied to each element.

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

The returned map preserves the entry iteration order of the original collection.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val words = listOf("a", "abc", "ab", "def", "abcd")
val withLength = words.associateWith { it.length }
println(withLength.keys) // [a, abc, ab, def, abcd]
println(withLength.values) // [1, 3, 2, 3, 4]
//sampleEnd
}

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/associate-with.html