groupMap

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

groupMap crie um Map agrupando os elementos sob a chave que eles emitem quando a função f é aplicada a eles e então eles são transformados por meio da função g.