作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,假设我有
val list: List[(String, Double)]
"04-03-1985", 1.5
"05-03-1985", 2.4
"05-03-1985", 1.3
"04-03-1985", 1.5
"05-03-1985", 3.7
最佳答案
这是一线。除非确实将这些高阶函数的类型内部化,否则它不是特别可读。
val s = Seq(("04-03-1985" -> 1.5),
("05-03-1985" -> 2.4),
("05-03-1985" -> 1.3))
s.groupBy(_._1).mapValues(_.map(_._2).sum)
// returns: Map(04-03-1985 -> 1.5, 05-03-1985 -> 3.7)
s.foldLeft(Map[String, Double]()) { case (m, (k, v)) =>
m + (k -> (v + m.getOrElse(k, 0d)))
}
var m = Map[String, Double]()
for ((k, v) <- s) {
m += k -> (v + m.getOrElse(k, 0d))
}
Map[K, V]
和
Seq[(K, V)]
方法在
toSeq
和
toMap
之间转换。
def seqToMultimap[A, B](s: Seq[(A, B)]): Map[A, Seq[B]]
s.toMultimap.mapValues(_.sum)
关于scala - 在Scala中,我该如何做相当于SQL SUM和GROUP BY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142514/
我是一名优秀的程序员,十分优秀!