groupMapReduce
方法(或屬性)屬於 scala.collection.View.Unfold
類(class),其相關用法說明如下。
用法:
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)(_ + _)
注意:即使應用於視圖或惰性集合,它也會始終強製元素。
相關用法
- Scala Unfold.groupMap用法及代碼示例
- Scala Unfold.groupBy用法及代碼示例
- Scala Unfold.partitionMap用法及代碼示例
- Scala Unfold.unzip用法及代碼示例
- Scala Unfold.inits用法及代碼示例
- Scala Unfold.sizeCompare用法及代碼示例
- Scala Unfold.mkString用法及代碼示例
- Scala Unfold.sliding用法及代碼示例
- Scala Unfold.addString用法及代碼示例
- Scala Unfold.transpose用法及代碼示例
- Scala Unfold.unzip3用法及代碼示例
- Scala Unfold.sizeIs用法及代碼示例
- Scala Unfold.lazyZip用法及代碼示例
- Scala Unfold.scanRight用法及代碼示例
- Scala Unfold.tails用法及代碼示例
- Scala Unfold.collectFirst用法及代碼示例
- Scala UnanchoredRegex.unapplySeq用法及代碼示例
- Scala UnrolledBuffer.elementWise用法及代碼示例
- Scala UnrolledBuffer.groupBy用法及代碼示例
- Scala UnrolledBuffer.addString用法及代碼示例
- Scala UnrolledBuffer.groupMap用法及代碼示例
- Scala UnrolledBuffer.applyOrElse用法及代碼示例
- Scala Unit.orElse用法及代碼示例
- Scala UnrolledBuffer.inits用法及代碼示例
- Scala UnitOrdering.orElseBy用法及代碼示例
注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Unfold.groupMapReduce。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。