groupMap

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

groupMap は、関数 f の適用結果が同じキーとなる要素をグループ化し、グループには変換関数 g を適用した Map を作成します。