Łuk*_*Lew 84 scala map scala-2.8
如何在Scala中将immutable.Map转换为mutable.Map,以便更新Map中的值?
Kev*_*ght 121
最干净的方法是使用mutable.Mapvarargs工厂.与该++方法不同,这使用了该CanBuildFrom机制,因此如果编写库代码以利用此功能,则有可能提高效率:
val m = collection.immutable.Map(1->"one",2->"Two")
val n = collection.mutable.Map(m.toSeq: _*)
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为a Map也可以被视为一对Pairs.
Rex*_*err 40
val myImmutableMap = collection.immutable.Map(1->"one",2->"two")
val myMutableMap = collection.mutable.Map() ++ myImmutableMap
Run Code Online (Sandbox Code Playgroud)
开始Scala 2.13,通过工厂建设者应用.to(factory):
Map(1 -> "a", 2 -> "b").to(collection.mutable.Map)
// collection.mutable.Map[Int,String] = HashMap(1 -> "a", 2 -> "b")
Run Code Online (Sandbox Code Playgroud)