當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala IterableOps.groupMapReduce用法及代碼示例


groupMapReduce 方法(或屬性)屬於 scala.collection.IterableOps 特性(trait),其相關用法說明如下。

用法:

def groupMapReduce[K, B](key: A => K)(f: A => B)(reduce: (B, B) => B): Map[K, B]

根據鑒別函數key將此可迭代集合劃分為映射.然後,所有具有相同鑒別器的值由f 函數轉換,然後使用reduce 函數簡化為單個值。

它等效於 groupBy(key).mapValues(_.map(f).reduce(reduce)) ,但效率更高。

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

注意:即使應用於視圖或惰性集合,它也會始終強製元素。

源碼:

Iterable.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 IterableOps.groupMapReduce。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。