我需要在Scala中地图或的foreach操作者改变一个外部变量,代码是如下:如何在Scala中更改map或foreach运算符中的外部变量?
val data = sc.textFile(inputFile)
var examMap = Map[String, Int]()
data.map(sample => {
if (examMap.contains(sample)) {
val value = examMap.get(sample).get
examMap -= sample
examMap += (sample -> (value + 1))
}
else {
examMap += (sample -> 1)
}
})
什么是你的问题有关shared variables? – Phasmid
它闻起来可以用'foldLeft'或者自定义递归替换的可变性 – cchantep
你可以编辑问题来包含一个可以适用于每个人的最小自包含示例,并说明它的意外结果是什么? – stefanobaghino