【问题标题】:Transformation of List[(Object1,Object2)] to Map[Object1, List[Object2]] - ScalaList[(Object1,Object2)] 到 Map[Object1, List[Object2]] 的转换 - Scala
【发布时间】:2017-12-03 20:50:10
【问题描述】:

我有一对对象 Object1 和 Object2 的列表。

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

直到现在我实现了这个:

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

但它不起作用。

【问题讨论】:

    标签: scala dictionary collections


    【解决方案1】:

    mapValuesLists。您需要遍历每个 List 才能取消元组每个元素。

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

    不需要toMapgroupBy 已经生成了 Map

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

    【讨论】:

      【解决方案2】:

      一种方便的方法是使用 map/case。注意大括号:

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

      【讨论】:

        猜你喜欢
        • 2018-01-06
        • 2013-10-14
        • 1970-01-01
        • 2014-11-13
        • 2014-05-09
        • 2015-01-26
        • 2020-07-22
        • 2018-01-21
        • 2013-11-13
        相关资源
        最近更新 更多