Scala Collection库有mapValues和filterKeys.它没有的原因mapKeys可能是性能方面(关于HashMap实现),正如这里讨论的Haskell:为什么Data.Hashmap中没有mapKeys?
然而.
除了性能影响之外,我发现自己mapKeys至少需要与mapValues按摩数据一样多(即我使用地图进行数据抽象,而不是使用其获取速度).
我错了,您会使用哪种数据模型?元组?
Eug*_*nev 10
不知道为什么它不在标准库中,但是您可以使用隐式类轻松地对您的库进行pimp
implicit class MapFunctions[A, B](val map: Map[A, B]) extends AnyVal {
def mapKeys[A1](f: A => A1): Map[A1, B] = map.map({ case (a, b) => (f(a), b) })
}
val m = Map(1 -> "aaa", 2 -> "bbb")
println(m.mapKeys(_ + 1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |