我有以下结果地图类型Map[Long,Map[String,String]]
。我想将地图转换为List[Seq[Long,String]]
。迭代和过滤斯卡拉地图
下面的代码做这口井:
val test = for((time, m) <- ret) yield for((k, v) <- m) yield Seq(time, v)
的问题是,我其实只想包括Seq(time, v)
其中v
是独一无二的。例如,目前我得到以下值:
[[
1344969305196000,
"Ry7H5_client"
],
[
1344969777610000,
"Ry7H5_client"
],
[
1344965964890000,
"SOCKET/f6KGcMSVi7"
],
[
1344969919131000,
"Ry7H5_client"
]]
我想只在结果集中包含“Ry7H5_client”一次。什么是解决这个问题的最好方法?
你如何确定你的例子中包含3个“Ry7H5_client”中的哪一个?它应该是第一个例子吗? – 2012-08-14 19:32:09
是的,第一次会很好 – chiappone 2012-08-14 19:32:50
请注意,“第一次”在这里并不意味着任何东西(除非你按时间排序),因为地图没有定义的迭代次序。 – 2012-08-14 19:43:12