gpt4 book ai didi

scala - 将可变映射转换为不可变映射

转载 作者:行者123 更新时间:2023-12-03 05:24:06 25 4
gpt4 key购买 nike

private[this]object MMMap extends  HashMap[A, Set[B]] with MultiMap[A, B]

如何将其转换为不可变?

最佳答案

不可变层次结构不包含 MultiMap,因此您将无法使用相同方便的语法来使用转换后的结构。但如果您愿意处理键/值集对,那么:

如果你只想要一个可变的HashMap,你可以在2.8中使用x.toMapcollection.immutable.Map(x.toList: _* ) 在 2.7 中。

但是,如果您希望整个结构不可变(包括底层集合!),那么您必须做更多工作:您需要一路转换集合。在 2.8 中:

x.map(kv => (kv._1,kv._2.toSet)).toMap

在 2.7 中:

collection.immutable.Map(
x.map(kv => (kv._1,collection.immutable.Set(kv._2.toList: _*))).toList: _*
)

关于scala - 将可变映射转换为不可变映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2817055/

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