我有以下代码:未能添加键映射并联
var res: GenMap[Point, GenSeq[Point]] = points.par.groupBy(point => findClosest(point, means))
means.par.foreach(mean => if(!res.contains(mean)) {
println("Map doesn't contain mean: " + mean)
res += mean -> GenSeq.empty[Point]
println("Map contains?: " + res.contains(mean))
})
使用这种情况下类:
case class Point(val x: Double, val y: Double, val z: Double)
基本上,代码组中points
的Point
元件Point
周围元素在means
。算法本身虽然不是很重要。
我的问题是,我得到了以下的输出:
Map doesn't contain mean: (0.44, 0.59, 0.73)
Map doesn't contain mean: (0.44, 0.59, 0.73)
Map doesn't contain mean: (0.1, 0.11, 0.11)
Map doesn't contain mean: (0.1, 0.11, 0.11)
Map contains?: true
Map contains?: true
Map contains?: false
Map contains?: true
为什么我会永远得到这个?
Map contains?: false
我正在检查密钥是否在res
地图中。如果不是,那我就加入它。 那么它如何不能出现在地图中呢?
是否存在并行性问题?
这个问题是否发生在没有使用并行化的情况下? – Samar