scala - 从本地构建的可变映射返回不可变映射的首选方法是什么?

标签 scala scala-collections

通常,我发现自己实现了从输入源构建 map 的方法。在这种情况下,我使用 scala.collection.mutable.Map ,假设更快的速度和效率;但是,一旦构建了这个集合,我就不再希望它是可变的。

从可变映射返回不可变映射的首选 Scala 方式是什么?通常,我做一个 myMap.toMap这显然有效,但有气味。或者,您可以将返回类型设置为 scala.collection.Map这不需要建立一个新的集合,但似乎可能会让读者感到困惑。

感谢您的回复。

最佳答案

最好的方法是调用.toMap .它简短、干净,并且明确表示您想将您的收藏转换为 immutable.Map .

我认为将类型设置为 scala.collection.Map确实会令人困惑。它也不会保护您免受设置类型的人的影响。打字immutable.Map清晰安全。

关于scala - 从本地构建的可变映射返回不可变映射的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10127846/

相关文章:

scala - 如何编写一个返回与传递给它的集合类型相同的集合类型的 zipWith 方法?

java - 在 Java 中使用 Scala map

scala并行集合的并行度

scala - 垃圾收集 scala 参与者

斯卡拉。通用类声明麻烦

scala - 在 macOS Sierra 上使用 Nix 安装 Scala

scala - 是否有任何合适的方法可以直接从 Scala Parser Combinator 生成 [jpg、png 等] 语法图(和/或 AST)?

scala - 使用ScalaQuery的通用存储库

Scala:编译器找不到 FromRepr、HasElem 或implicitConversions

scala - 在 Scala 中查找函数应用值