次を使用して作成された有向グラフがあります。
public static DirectedGraph<Point, DefaultEdge> directedGraph = new DefaultDirectedGraph<Point, DefaultEdge>(DefaultEdge.class);
void setup() {
Point myPoint = new Point(x, y);
Point myNextPoint = new Point(xToFillNext, yToFillNext);
directedGraph.addVertex(myPoint);
directedGraph.addVertex(myNextPoint);
directedGraph.addEdge(myPoint, myNextPoint);
Point mySecondPoint = new Point(x, y);
Point mySecondNextPoint = new Point(xToFillNext, yToFillNext);
directedGraph.addVertex(mySecondPoint);
directedGraph.addVertex(mySecondNextPoint);
directedGraph.addEdge(mySecondPoint, mySecondNextPoint);
System.out.println("#vertices: "+ directedGraph.vertexSet());
}
public static class Point {
public int x;
public int y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
@Override
public String toString() {
return ("[x="+x+" y="+y+"]");
}
@Override
public int hashCode() {
int hash = 7;
hash = 71 * hash + this.x;
hash = 71 * hash + this.y;
return hash;
}
@Override
public boolean equals(Object other)
{
if (this == other)
return true;
if (!(other instanceof Point))
return false;
Point otherPoint = (Point) other;
return otherPoint.x == x && otherPoint.y == y;
}
}
次を使用して、頂点ごとの外側のエッジの数を取得したいと思います。
directedGraph.outDegreeOf()
しかし、頂点ごとに頂点を実行したくありません(これは、プログラム全体でより多くの頂点を持っているため、簡単に通過できるようにするための単純なコードです)、頂点セットを通過して戻りたいです頂点の数に関係なく、セットの各頂点の外向きエッジの数が自動的に計算されます。
これを行うにはどうすればよいですか?
(私はJavaに基づく処理を使用します)