[英]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.