associateWith所在位置是kotlin.sequences.associateWith,其相關用法介紹如下。

用法:

inline fun <K, V> Sequence<K>.associateWith(
    valueSelector: (K) -> V
): Map<K, V>

返回一個Map,其中鍵是給定序列中的元素,值由應用於每個元素的valueSelector 函數生成。

如果任何兩個元素相等,則將最後一個元素添加到Map中。

返回的映射保留原始序列的條目迭代順序。

操作是 terminal

例子:

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
}

輸出:

[a, abc, ab, def, abcd]
[1, 3, 2, 3, 4]