gpt4 book ai didi

kotlin - Map.mapTo 到另一个 map

转载 作者:IT老高 更新时间:2023-10-28 13:41:27 27 4
gpt4 key购买 nike

我要映射 Map<DAO, Int>Map<String, Boolean>但我无法在 map 函数中返回 Map.Entry:

itemsWithQuantity.mapTo(mutableMapOf<String, Boolean>(), { it.key.toString() to it.value != 0 })

(当然我用的是更复杂的映射函数,不过没关系,问题都一样)

上面写着

MutableMap<String, Boolean> is not a subtype of MutableCollection<Pair<String, Boolean>>.

那么我怎样才能返回 Map.Entry 而不是 Pair?

现在我是这样做的:

val detailsIds = mutableMapOf<String, Boolean>()
itemsWithQuantity.forEach { item, quantity -> detailsIds.put(it.key.toString(), it.value != 0) }

但我想使用 mapTo

最佳答案

使用 associateTo 而是:

xs.associateTo(mutableMapOf<String, Boolean>(), { "${it.key}" to (it.value != 0) })

另外,请注意 it.value != 0 周围的括号。 .

mapTo 函数,类似于 map , 不会将结果收集到 Map , 而是使用 Collection ,期待您提供MutableCollection<Pair<String, Boolean>> .

关于kotlin - Map.mapTo 到另一个 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42768802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com