gpt4 book ai didi

java - 在 Kotlin 中将嵌套 Map 复制到 MutableMap

转载 作者:行者123 更新时间:2023-12-02 00:59:22 25 4
gpt4 key购买 nike

给定一个嵌套的不可变映射:

val someNestedMap = mapOf(
2 to mapOf(
"a" to true,
"b" to false,
"c" to true
),
3 to mapOf(
"d" to false,
"e" to true,
"f" to false
)
)

如果我想要这个精确结构的新副本,但每个映射都是可变的,那么在 Kotlin 中是否有一种简单的方法可以做到这一点?

我想创建上述内容的副本 val newCopy: MutableMap<Int, MutableMap<Int, Boolean>>

最佳答案

您可以通过映射键然后转换整个映射来完成此操作:

return immutableMap.mapValues { it.value.toMutableMap() }.toMutableMap()

您可以像这样创建一个通用扩展函数:

fun <K, VK, VV> Map<K, Map<VK, VV>>.toDeeplyMutableMap() = 
mapValues { it.value.toMutableMap() }.toMutableMap()

我认为这对于标准库函数的用例来说过于具体。嵌套的可变集合很容易出错。

关于java - 在 Kotlin 中将嵌套 Map 复制到 MutableMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60909403/

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