1
假設我有List[Node]
- 節點列表和功能isConnected(n1:Node, n2:Node):Boolean
。現在我想創建一個映射Map[Node, List[Node]]
,它將每個節點映射到其鄰居列表。如何從Scala中給定的節點列表創建一個鄰居地圖?
我想弄清楚如何使用groupBy
。是否有意義?你將如何在慣用的Scala中創建鄰居地圖?
假設我有List[Node]
- 節點列表和功能isConnected(n1:Node, n2:Node):Boolean
。現在我想創建一個映射Map[Node, List[Node]]
,它將每個節點映射到其鄰居列表。如何從Scala中給定的節點列表創建一個鄰居地圖?
我想弄清楚如何使用groupBy
。是否有意義?你將如何在慣用的Scala中創建鄰居地圖?
這樣的事情呢?
list.map(node => node -> list.filter(n => isConnected(node, n))).toMap
假設l爲你的清單:
l zip (l map (n1 => l filter(n2 => isConnected(n1,n2)))) toMap