在Scala中,将函数应用于不可变映射中某些键的值

前端之家收集整理的这篇文章主要介绍了在Scala中,将函数应用于不可变映射中某些键的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让一个不可变的地图

val m = (0 to 3).map {x => (x,x*10) }.toMap
m: scala.collection.immutable.Map[Int,Int] = Map(0 -> 0,1 -> 10,2 -> 20,3 -> 30)

一系列感兴趣的钥匙

val k = Set(0,2)

和一个功能

def f(i:Int) = i + 1

如何将f应用于由感兴趣的键映射的映射中的值,以便生成映射

Map(0 -> 1,2 -> 21,3 -> 30)

解决方法

m.transform{ (key,value) => if (k(key)) f(value) else value }

猜你在找的Scala相关文章