我有一个这样的构造:
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