groupBy

trait Collection[A] {
  def groupBy[K](f: (A) => K): Map[K, Collection[A]]
}

groupBy crea un Map agrupando los elementos bajo la clave que emiten cuando se les es aplicada la función f.