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


Scala SystemProperties.groupMap用法及代碼示例


groupMap 方法(或屬性)屬於sys.SystemProperties類(class),其相關用法說明如下。

用法:

def groupMap[K, B](key: ((String, String)) => K)(f: ((String, String)) => B): Map[K, Iterable[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大神的英文原創作品 SystemProperties.groupMap。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。