我有这种初始类型的 Map :
m: Map[(String, String, String), Double]
我希望以一种方式合并它们以获得具有以下类型的最终 Map
:
mm:Map [(String,String,String),Seq [Double]]
例如:
val m1 = Map (("a","b","c") -> 2.0, ("a","b","d") -> 3.0)
val m2 = Map (("a","b","c") -> 5.0, ("a","b","k") -> 3.0)
// after the merge
Map (("a","b","c") -> Seq(2.0, 5.0), ("a","b","d") -> Seq(3.0), ("a","b","k") -> Seq(3.0))
我怎样才能用Scala获得它?
3 回答
你可以做:
如果您已导入
scalaz
,则可以执行以下操作:您可以将 Map 转换为Seq,然后按键对Seq进行分组: