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