簡體   English   中英

在scala中通過關鍵功能聚合/縮小

[英]Aggregate/Reduce by key function for a map in scala

我在scala中有下面的地圖。

Map("x"-> "abc", "y"->"adc","z"->"abc", "l"-> "ert","h"->"dfg", "p"-> "adc")

我想要的輸出如下:

Map("abc"->["x","z"],"adc"->["y" , "p"], "ert"->"l", "dfg"->"h")

因此,輸出將數組作為初始映射中具有相同值的那些鍵的值。 我怎樣才能做到最好?

一個groupBy然后對其輸出的值進行一些操作。

scala> m.groupBy(x => x._2).mapValues(_.keys.toList)
res10: scala.collection.immutable.Map[String,List[String]]
  = Map(abc -> List(x, z), dfg -> List(h), ert -> List(l), adc -> List(y, p))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM