Condense scala地图

时间:2017-09-15 13:38:49

标签: scala seq

想象一下我有

case class Thing(intValue: Int, stringValue: String)

有了这个,我可以制作地图Map [Int,Thing]

val myMap = Map(1->Thing(100,"abc"), 2->Thing(100,"abcd"), 3->Thing(100,"abcde"), 4->Thing(200,"xyz"))

地图中的原始密钥并不重要。我想以某种方式将此数据结构转换为

地图(100-> Seq(" abc"," abcd"," abcde"),200-> Seq(&# 34; XYZ&#34))

2 个答案:

答案 0 :(得分:1)

快速而肮脏

Android 4.2 (Jelly Bean)

答案 1 :(得分:1)

你可以通过groupBy

来完成
myMap.groupBy(_._2.intValue).mapValues(_.values.map(_.stringValue))