2012-01-28 3 views
6

可能性の重複:
How can I convert immutable.Map to mutable.Map in Scala?コピーコンテンツ

は、どのように私はスカラ座での不変のマップの内容と新しい可変マップを作成するのですか?

は、これまで私が試してみました:

val m:scala.collection.mutable.Map[Int, Double] = scala.collection.mutable.Map[Int, Double](imm.map({case(key, value) => (key -> value) })) 

無駄に。

+1

@TomaszNurkiewicz - ほら、私はすでにこの1に答え忘れてしまいました。 –

答えて

21
val im = Map(1->1.0, 2->3.0) 
val mm = collection.mutable.Map[Int,Double]() ++= im 
+1

なぜ '++'ではなく '++ ='ですか? –

+4

'++'は別のコレクションを作成し、 '++ ='はあなたが持っているコレクションに追加します。コレクションが変更可能であるため、後者は無駄が少なくなります。 –

7
val immM = Map(1 -> 2) 
val mutM = collection.mutable.Map(immM.toSeq: _*)