groupMapReduce
方法(或属性)属于 scala.collection.mutable.AnyRefMap
类(class),其相关用法说明如下。
用法:
def groupMapReduce[K, B](key: ((K, V)) => K)(f: ((K, V)) => 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 AnyRefMap.groupMap用法及代码示例
- Scala AnyRefMap.groupBy用法及代码示例
- Scala AnyRefMap.tails用法及代码示例
- Scala AnyRefMap.addString用法及代码示例
- Scala AnyRefMap.sizeIs用法及代码示例
- Scala AnyRefMap.sizeCompare用法及代码示例
- Scala AnyRefMap.collectFirst用法及代码示例
- Scala AnyRefMap.lazyZip用法及代码示例
- Scala AnyRefMap.transpose用法及代码示例
- Scala AnyRefMap.inits用法及代码示例
- Scala AnyRefMap.mkString用法及代码示例
- Scala AnyRefMap.scanRight用法及代码示例
- Scala AnyRefMap.runWith用法及代码示例
- Scala AnyRefMap.elementWise用法及代码示例
- Scala AnyRefMap.sliding用法及代码示例
- Scala AnyRefMap.equals用法及代码示例
- Scala AnyAccumulator.lengthCompare用法及代码示例
- Scala AnyAccumulator.unzip3用法及代码示例
- Scala AnyAccumulator.collectFirst用法及代码示例
- Scala AnyAccumulator.elementWise用法及代码示例
- Scala AnyAccumulator.groupBy用法及代码示例
- Scala AnyAccumulator.inits用法及代码示例
- Scala AnyAccumulator.groupMap用法及代码示例
- Scala AnyAccumulator.applyOrElse用法及代码示例
- Scala AnyAccumulator.sizeIs用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 AnyRefMap.groupMapReduce。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。