簡體   English   中英

從列表[Object]創建Map [String,Map [String,Object]]

[英]Creating Map[String, Map[String, Object]] from List[Object]

我剛剛習慣了Scala,我已經

case class Person(name: String, birthPlace: String, hairColor: String)

我知道應該有一個很好的方法將List [Person]轉換為

Map[Name, Map[Birthplace, Person]]

但是,我不太清楚該怎么做。

任何和所有幫助將不勝感激。

可能會有更多的人具有相同的名字和出生地,因此針對這種情況的更好的數據類型將是Map[String, Map[String, Seq[Person]] 您可以使用.groupBy創建它:

    list
      .groupBy(_.name)
      .mapValues(_.groupBy(_.birthplace))

如果要忽略多次出現,可以通過在結尾處添加以下內容來丟棄它們:

      .mapValues(_.mapValues(_.head))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM