groupMapReduce
trait Collection[A] {
def groupMapReduce[K, B](k: (A) => K)(f: (A) => B)(op: (B, B) => B): Map[K, B]
}
groupMapReduce
crea un Map
agrupando los elementos bajo la clave emitida por la función k
cuando se les es aplicada, aplicando la función de transformación f
a los elementos agrupados y finalmente reduciendo los elementos transformados utilizando el operador binario asociativo op
.