Scala函数采用地图,修改值并返回地图

Fak*_* 10 2 collections scala for-comprehension

我试图了解for与Scala相关的理解Maps.我有以下代码,我的意图是打破键值对,对值执行某些操作并返回修改后的值Map.我使用正确的功能还是应该使用其他功能?

val kvpair = Map("a" -> 1, "b" -> 2, "c" -> 3)

def multiplyValues(map: Map[Char, Int]) = {

          for {
              char <- map._1  
              value <- map._2 * 2
          } yield (char, value )
  }
Run Code Online (Sandbox Code Playgroud)

elm*_*elm 6

Map,方法mapValues传达了这个要求; 例如,

kvpair.mapValues(_ * 2)
Run Code Online (Sandbox Code Playgroud)

将地图中的每个值加倍.