我有以下2所列出:斯卡拉:壓扁圖成圖
val a = List(List(1,2,3),List(2,3,4),List(3,4,5))
val b = List(1,2,3)
我想過濾的a
包含的元素在b
元素,並將它們添加到地圖像這樣:
Map(1 -> List(List(1, 2, 3)), 2 -> List(List(1, 2, 3), List(2, 3, 4)), 3 -> List(List(1, 2, 3), List(2, 3, 4), List(3, 4, 5)))
我試過如下:
b.map(x => Map(x -> a.filter(y => y contains x)))
,但它給了我
List(Map(1 -> List(List(1, 2, 3))), Map(2 -> List(List(1, 2, 3), List(2, 3, 4))), Map(3 -> List(List(1, 2, 3), List(2, 3, 4), List(3, 4, 5))))
我該如何將它拼合成一個Map?我的方法錯了嗎?
這裏不需要'Map.apply()',這裏有一個'.toMap'方法,它將2元組列表轉換爲地圖。 – aztek