如何为jung中的两个现有节点/顶点添加边

时间:2014-07-07 08:01:47

标签: java jung

你可以帮帮我吗?如何在图形中存在这些节点的两个节点/顶点之间添加边缘。 我的图使用自定义顶点和自定义边类。 这是我的代码

if(findEdge(g,v1,v2)==null) 
g.addEdge(new Edge(), v1, v2, EdgeType.DIRECTED);

其中findEdge函数是

public Edge findEdge(DirectedGraph<Vertex, Edge> g, Vertex v1,Vertex v2) {
    Collection<Edge> edges = g.getEdges();
    for (Edge ed : edges) { 
        //System.out.print(vt.getLabel() + " ");
        if(ed.getNodeFrom().equals(v1.getLabel())&&ed.getNodeDes().equals(v2.getLabel())) {
            return ed;
        }
    }
    return null;
}

从该函数中,我可以得到关于两个已存在节点的边缘的结果,存在或为空。

1 个答案:

答案 0 :(得分:0)

首先,Graph已经有了一个findEdge()方法;看看Marco13 @指向你的API文档。

其次,正如rlegendi @指出的那样,不清楚你是否想要一个多图:如果你这样做,为什么你只是在没有一个存在的情况下添加边缘,如果你不,你为什么要创建一个DirectedSparseMultigraph对象?

目前尚不清楚你想要完成什么。