2 つのリストがあるとします。
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 とパターン マッチを使用できることはわかっていますが、2 番目のリストが事前に決定されていない場合、少し行き詰まります。
編集:
処理済みリストのキーとして、2 番目のリスト内のオブジェクトのコピーが必要です。2 番目のリストの 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)))
分かりづらくてすみません!