当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala SeqOps.groupMap用法及代码示例


groupMap 方法(或属性)属于 scala.collection.SeqOps 特性(trait),其相关用法说明如下。

用法:

def groupMap[K, B](key: A => K)(f: A => B): Map[K, CC[B]]

根据鉴别函数key将此可迭代集合划分为可迭代集合的映射.使用value 函数将组中的每个元素转换为B 类型的值。

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

case class User(name: String, age: Int)

def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
  users.groupMap(_.age)(_.name)

注意:即使应用于视图或惰性集合,它也会始终强制元素。

类型参数:

B

转换函数返回的值的类型

K

鉴别器函数返回的键的类型

值参数:

f

元素变换函数

key

判别器函数

继承自:

collection.IterableOps.groupMap

源码:

Iterable.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 SeqOps.groupMap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。