graph.addEdge() неявно добавить несуществующие вершины?
Хотя хорошо, что JGraphT разделяет процесс добавления вершин и ребер, конечно, есть случай, когда вы захотите объединить эти два? Другими словами, если вы попытаетесь добавить ребро, где одна (или обе) вершин отсутствуют в графе, то добавьте их?
Есть ли у JGraphT такой ярлык для написания трех вызовов методов?
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);
}