【发布时间】:2014-10-27 12:58:45
【问题描述】:
我有:
var targets = mutable.HashMap[String, WordCount]()
其中 WordCount 是一个案例类:
case class WordCount(name: String,
id: Int,
var count: Option[Double]) {
def withCount(v: Double) : WordCount = copy(count = Some(v))
}
并且我正在尝试每次在地图中存在键时更新计数值,
def insert(w1: String, w2: String, count: Double) = {
if(targets.contains(w1)){
var wc = targets.get(w1).getOrElse().asInstanceOf[WordCount]
wc.withCount(9.0)
} else{
targets.put(w1, WordCount(w1, idT(), Some(0.0))
}
}
但它不起作用。这样做的正确方法是什么?请!
【问题讨论】:
-
什么是“不工作”?不是在编译吗?程序不正确,也就是字数正确吗?
-
为什么
withCount(9.0)中有 9.0?而insert不使用它的count参数 -
我只是想更新那个值。正确的是
wc.count + count
标签: scala map hashmap case-class