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]