【发布时间】:2019-11-16 04:12:06
【问题描述】:
我正在尝试将新值附加到现有键的 Set(Values) 中,但它正在替换现有值。
这是我的输入
val roads = Array(Array(0,1),Array(0,2),Array(1,2))
预期输出:
Map(0 -> Set(1,2),1 -> Set(2))
我的代码:
val roads = Array(Array(0,1),Array(0,2),Array(1,2))
var adjMatrix:Map[Int,Set[Int]] = Map()
for(i <- 0 until roads.size; j <- 1 until roads(i).size){
adjMatrix += (roads(i)(0) -> Set(roads(i)(j)))
}
当我这样做时
adjMatrix.foreach(println)
我得到以下结果,因为有两个名称为 0 的键,它替换了第 0 个索引处的 (0,1) 元素
(1,Set(2))
(0,Set(2))
【问题讨论】:
-
它可以有两个以上的元素,但第一个元素总是键,其余元素是值。
标签: scala functional-programming