Scala中的可变Map集合无法更新单个元素

时间:2017-05-11 06:19:43

标签: scala dictionary collections

我有以下问题。

val graph = scala.collection.mutable.Map[Int, Int]() ++= (0 until 10).map(i => (i, i + 1)).toMap

graph(graph.size - 1) = 20   // BOOOM!!!

val graphSize = 9
graph(graphSize) = 20     //BOOM!!!

graph(9) = 20    //Works Fine!

每当我尝试使用变量更新Mutable Map中的单个元素时,它就会爆炸!!!

Error:(45, 120) not found: value graph
inst$A$A.`get$$instance_2$$graph(graph.size - 1)`;
println("graph(graph.size - 1): " + {val $$temp$$ = inst$A$A.graph(graph.size      - 1) ;
MacroPrinter.printDefInfo($$temp$$).replace("inst$A$A.", "") + " = " + ( print$$$Worksheet$$$Array$$$($$temp$$) ).stripPrefix("A$A65$A$A65$")})
                                                                                                                  ^

我不知道为什么会这样。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

好的。经过多次来回运行,我认为只有update()方法可以完成这项工作!不知道为什么。 所以更新只能通过以下方式完成:

graph.update(key, value)

至少在我的机器上......