将List [(Object1,Object2)]转换为Map [Object1,List [Object2]] - Scala

时间:2017-12-03 20:50:10

标签: scala dictionary collections

我有一组对象Object1和Object2。

我想将此列表转换为Map [Object1,List [Object2]]。

直到现在我实施了这个:

dictionary map (w => (wordOccurrences(w), w))
 groupBy(identity).mapValues(_._2).toMap

但它不起作用。

2 个答案:

答案 0 :(得分:1)

mapValuesList。您需要遍历每个List以便取消元组的每个元素。

您还需要从每个元组中隔离密钥“Object1”。

不需要toMapgroupBy已生成Map

...groupBy(_._1).mapValues(_.map(_._2))

答案 1 :(得分:0)

一种方便的方法是使用地图/案例。请注意大括号:

val plist = List((1, 1), (2, 4), (3, 9))
plist.toMap map {case (a, b) => (a -> List (b))}