2012-01-28 13 views
6

Powiel możliwe:
How can I convert immutable.Map to mutable.Map in Scala?skopiować zawartość do nowego niezmiennej mapie zmienny mapie

Jak mogę stworzyć nową mapę zmienny z treścią mapie niezmiennego w Scala?

Do tej pory próbowałem:

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

bezskutecznie.

+1

@TomaszNurkiewicz - Hah, zapomniałem Odpowiedziałem już ten jeden. –

Odpowiedz

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

Dlaczego '++ =' zamiast '++'? –

+4

'++' tworzy kolejną kolekcję, a '++ =' dodaje do tej, którą masz. Ten ostatni jest mniej nieekonomiczny, biorąc pod uwagę, że kolekcja jest zmienna. –

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