graph.addEdge()隐式添加不存在的顶点?

时间:2013-01-14 18:49:06

标签: jgrapht

虽然JGraphT分离添加顶点和添加边缘的行为是好的,但是当你想要将两者结合起来时,肯定会出现这种情况吗?换句话说,如果你试图添加一个边缘,其中任何一个(或两个)顶点不在图中,那么添加它们?

JGraphT是否有编写3个方法调用的快捷方式?

1 个答案:

答案 0 :(得分:1)

您可以简单地覆盖JGraphT的方法,使其添加图中尚不存在的顶点:

@Override
public E addEdge(V sourceVertex, V targetVertex) {
    if (!containsVertex(sourceVertex)) {
        addVertex(sourceVertex);
    }
    if (!containsVertex(targetVertex)) {
        addVertex(targetVertex);
    }
    return super.addEdge(sourceVertex, targetVertex);
}