虽然 JGraphT 将添加顶点和添加边的行为分开是件好事,但您肯定会想将两者结合起来吗?换句话说,如果您尝试添加一条边,其中一个(或两个)顶点都不在图中,那么添加它们?
JGraphT 是否有这样的快捷方式来编写 3 个方法调用?
虽然 JGraphT 将添加顶点和添加边的行为分开是件好事,但您肯定会想将两者结合起来吗?换句话说,如果您尝试添加一条边,其中一个(或两个)顶点都不在图中,那么添加它们?
JGraphT 是否有这样的快捷方式来编写 3 个方法调用?
您可以简单地覆盖 JGraphT 的方法,使其添加图中尚不存在的顶点:
@Override
public E addEdge(V sourceVertex, V targetVertex) {
if (!containsVertex(sourceVertex)) {
addVertex(sourceVertex);
}
if (!containsVertex(targetVertex)) {
addVertex(targetVertex);
}
return super.addEdge(sourceVertex, targetVertex);
}