我正在计算列表中的 url 数量。为了实现这一点,我将添加到一个映射中,其中键是 url,值是当前计数器。每次遇到相同的键时,我都会增加计数器。这是代码:
var m = new HashMap[String, Int]
for(l <- MyList){
val url = l.getUrl()
var currentCount : Option[Int] = m.get(url)
currentCount match {
case Some(value) =>
var currentCount = value + 1
m = m ++ Map(url -> currentCount)
case None =>
m = m ++ Map(url -> 1)
}
}
我从一个不可变的映射开始,但发现每次都需要重新分配映射,以便使用关联的键来维护计数器值。是否有使用不可变地图完成与上述相同任务的解决方案?