比方說,我有一個看起來像這樣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
我現在正計劃通過觀察兩個電流值和一套獨特的再次經歷整個列表,產生一個新的列表鍵。我想知道在這個集合框架中是否有一些漂亮的東西可以讓它變得更清潔,更容易處理?也許是免費的?
啊... ..差異這就是我一直在尋找對於。我確實有另一個想法可能會更好,不確定,我可能會嘗試。對於每一行創建的鑰匙,地圖一個地圖無(M1 - >無,2 - >無,等等),然後簡單地從原來的添加項目。 – andyczerwonka
另外,你調用'toSet'而不是'distinct'。有特別的原因嗎? – andyczerwonka
我也在下面使用我在上面評論中提到的想法回答了它。 – andyczerwonka