我正在通过它的边缘遍历一个图,并希望有一个所有源和目标的列表。这是我到目前为止所拥有的:
public Set<Vertex> getVertices(){
Set<Vertex> vertices = this.edges.stream().map(edge -> edge.getSource()).collect(Collectors.toSet());
vertices.addAll(this.edges.stream().map(edge -> edge.getTarget()).collect(Collectors.toSet()));
return vertices;
}
有没有办法在同一个映射/收集步骤中同时获取源和目标?类似(伪代码):
edges.stream().collect(edge.getSource()).collect(edge.getTarget())
或普通的旧 Java 7
for ( Edge e : edges ){
vertices.add(e.getSource());
vertices.add(e.getTarget());
}
干杯,丹尼尔