2012-01-28 25 views
6

thể trùng lặp:
How can I convert immutable.Map to mutable.Map in Scala?sao chép nội dung của bản đồ bất biến để bản đồ mới có thể thay đổi

Làm thế nào để tạo ra một bản đồ có thể thay đổi mới với những nội dung của bản đồ bất biến trong Scala?

Cho đến nay tôi đã cố gắng:

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

vô ích.

+1

@TomaszNurkiewicz - Hah, tôi quên mất tôi đã trả lời này rồi. –

Trả lời

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

Tại sao '+ + =' thay vì '+ + '? –

+4

'++' tạo một bộ sưu tập khác, trong khi '++ =' thêm vào bộ sưu tập mà bạn có. Sau này là ít lãng phí cho rằng bộ sưu tập là có thể thay đổi. –

7
val immM = Map(1 -> 2) 
val mutM = collection.mutable.Map(immM.toSeq: _*) 
Các vấn đề liên quan