Liv*_*bot 1 collections dictionary scala
我是Scala的新手,正在试图弄清楚如何使用Collections.如果我有一个List [People],所有人都有名字,有没有办法把它变成Map [Person.getName,List [People]].
我试过了
list map (t => t.getName() -> t) toMap,
Run Code Online (Sandbox Code Playgroud)
但这只返回一个Map [Name,People].我该怎么做呢?
提前致谢.
groupBy将根据您提供的"鉴别器功能" 将List[People]其转换为a Map[String, List[People]],在这种情况下是从中选择名称Person.
scala> case class Person(name: String, age:Int)
defined class Person
scala> val people = List(Person("Alice", 42), Person("Bob", 42))
people: List[Person] = List(Person(Alice,42), Person(Bob,42))
scala> people.groupBy(p => p.name)
res0: scala.collection.immutable.Map[String,List[Person]] = Map(Bob -> List(Person(Bob,42)), Alice -> List(Person(Alice,42)))
Run Code Online (Sandbox Code Playgroud)