为什么在scala中转换和映射方法?

nai*_*rbv 8 api scala map lazy-evaluation

我无法理解/ reason之间的区别,例如,immutable.Map.transform和immutable.Map.map.看起来变换不会改变键,但这似乎是map方法的一个微不足道的变化.我错过了什么吗?

我希望找到一种方法,当/如果访问该元素时,将一个函数应用于地图的(键,值)(而不是必须使用map函数急切地迭代地图).这种方法存在吗?

0__*_*0__ 3

如果您只需要 的接口,则可以利用继承自 的PartialFunction事实:MapPartialFunction

val m = Map(1 -> "foo", 2 -> "bar")
val n = m.andThen(_.reverse)

n(1)  // --> oof
Run Code Online (Sandbox Code Playgroud)