說我有兩個列表:排序兩個列表一起在斯卡拉
List(("a",1),("b",4),("d",5),("a",7),("b",6))
和
List("a","b","c","d")
,我想基於第一個列表,這樣我得到他們組:
List("a" -> List(("a",1),("a",7)), "b" -> List(("b",4),("b",6)), "d" -> List(("d",5)))
實現此目標的最佳方法是什麼?我知道我可以使用groupBy和pattern匹配預先確定的值,但是當第二個列表未預先確定時,我會稍微卡住。
編輯:
我需要的對象在第二列表中的副本作爲處理名單的關鍵。我可能需要通過第二個列表中的on對象的參數進行分組,但仍然將整個對象保留爲鍵......如果這樣做合理的話。
List(("a",1),("b",4),("d",5),("a",7),("b",6))
List(("a",1,1),("b",2,3),("c",5,6),("d",6,7))
變爲:
List(("a",1,1) -> List(("a",1),("a",7)), ("b",2,3) -> List(("b",4),("b",6)), ("d",6,7) -> List(("d",5)))
對不起,缺乏透明度的!
謝謝!最後的理解工作完美。 – Alex 2012-08-02 19:25:37