【发布时间】:2018-01-26 03:59:47
【问题描述】:
在 Scala 中工作时,我遇到了不可变项,例如 immutable.Map。有时我无法控制的代码 (Spark) 返回一个 immutable.Map,我也想处理和添加元素。我正在使用以下方法,因为它可以编译并运行。我希望计算机足够聪明,可以有效地完成这项工作,但不相信我应该做出这样的假设。
var map: immutable.Map[Int, Double] = getMapFromSomewhere()
var i = 0
while(i < 5){
map += (i -> 0.0)
i +=1
}
我希望这会将我的新地图项放入内存中,并且不会复制地图,必须通过垃圾收集进行清理。我应该从我的immutable.Map 创建一个mutable.Map 来执行这些类型的操作吗?
【问题讨论】:
标签: scala immutability