2

虽然 JGraphT 将添加顶点和添加边的行为分开是件好事,但您肯定会想将两者结合起来吗?换句话说,如果您尝试添加一条边,其中一个(或两个)顶点都不在图中,那么添加它们?

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

4

1 回答 1

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);
}
于 2013-04-18T13:12:15.013 回答