将元组图转换为集合图

212

在我的dao中,我收到一个元组[String,String],其中_1不是唯一的,而_2是唯一的。我根据_1进行分组以获取此信息-

val someCache : Map[String, List[(String, String)]]

这显然是浪费的,因为对Map的所有值都重复了_1。由于_2是唯一的,所以我想要的是-

val someCache : Map[String, Set[String]]

即按_1分组并用作键,并使用成对的_2s作为Set [String]类型的值

约翰·沙利文
def foo(ts: Seq[(String, String)]): Map[String, Set[String]] = {
  ts.foldLeft(Map[String, Set[String]]()) { (agg, t) =>
    agg + (t._1 -> (agg.getOrElse(t._1, Set()) + t._2))
  }
}


scala> foo(List(("1","2"),("1","3"),("2","3")))
res4: Map[String,Set[String]] = Map(1 -> Set(2, 3), 2 -> Set(3))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章