我有一个看起来像这样的课程:
case class Person(id : String, name : String, refId : String) {}
我有一份人员名单。
我想要一张带有
的地图
key = refId
value =列出[人物]具有相同的refId (重复键)
我做了什么:
val persons = getPersons() // get the List from somewhere
val refMap = new mutable.HashMap[String,Seq[Person]]()
for (person<- persons){
refMap.put(person.refId,refMap.getOrElse(person.refId,new ArrayBuffer[Person]) :+ person)
}
这是我的第一个想法并且它有效,但我想要更像Scala的东西或看起来更好的东西。你有什么想法吗?
我也尝试过这里写的内容:Convert List of tuple to map (and deal with duplicate key ?)
但是他们使用Tuple而我也无法完成这项工作。 我还尝试将我的列表首先映射到元组但是 1.当不需要时,我不想在List上迭代2次(创建元组一次,创建地图一次。) 我试过了,但我的元组也失败了。
任何有关更好代码的帮助都会很好。