Kotlin如何将带有long和Pair的地图转换为其他地图



我有一个这样的构造:

var values = mutableMapOf<Long, Pair<String, Boolean>>()

不,我需要有一张上面的地图,像这样:

val transformedMap = Map<Long, String>

我无法将第一个转换为第二个。安迪的建议?

您可以进行

val transformedMap = values.mapValues { it.value.first }

大多数迭代器都需要一个变量来存储生成的映射,但我认为associate可以直接做到:

values.entries.associate {
it.key to it.value.first
}

其他选项类似于此

val output = mutableMapOf<Long, String>()
//values iterator, for, forEach, keys, etc
output[key] = values[key]?.first

最新更新