假设我有 3 个元组序列,看起来像这样:
Seq("m1" -> 1, "m2" -> 2)
Seq("m3" -> 3, "m4" -> 4)
Seq("m5" -> 5, "m2" -> 6)
我想映射这些并返回 3 条新记录,如下所示:
Seq("m1" -> Some(1), "m2" -> Some(2), "m3" -> None, "m4" -> None, "m5" -> None)
Seq("m1" -> None, "m2" -> None, "m3" -> Some(3), "m4" -> Some(4), "m5" -> None)
Seq("m1" -> None, "m2" -> Some(6), "m3" -> None, "m4" -> None, "m5" -> Some(5))
我正在寻找的新集合包含来自原始列表的不同键集的键,以及Some(v)
基于None
相应原始序列是否包含元组的值。
我设法从原始列表中取出钥匙:
case class SiteReading(val site: String, val measures: Seq[(String, Double)])
val xs = getSomeSiteReadingsFromSomewhere()
val keys = xs.flatMap(_.measures.map(t => t._1)).distinct
我现在计划再次浏览整个列表,通过查看当前值和唯一键集来生成一个新列表。我想知道集合框架中是否有一些漂亮的东西可以使它更清洁和更易于处理?也许是免费的?