在 JUNG 1.7.6 中有用于此目的的函数 copy() (myGraph.copy()),但在 JUNG 2.0 中,此函数不再存在。我找不到任何其他可能性来创建图形对象的副本。如果有人可以帮助我,我会很高兴。一个解决方法也会很好。
非常感谢!
在 JUNG 1.7.6 中有用于此目的的函数 copy() (myGraph.copy()),但在 JUNG 2.0 中,此函数不再存在。我找不到任何其他可能性来创建图形对象的副本。如果有人可以帮助我,我会很高兴。一个解决方法也会很好。
非常感谢!
下面的代码带有泛型,因此您应该将V
和E
替换String
为您的Graph<String, String>
.
Graph<V, E> src;
Graph<V, E> dest;
for (V v : src.getVertices())
dest.addVertex(v);
for (E e : src.getEdges())
dest.addEdge(e, src.getIncidentVertices(e));
You can copy the graph manually by iterating over all vertices and all edges and adding them to a new graph. See getVertices() in the API
你可以做一个顶点和边的简单副本,这将创建一个新的图表,但里面的对象将通过引用传递,所以你可以使用这个克隆库https://code.google.com/p/cloning/
并做一个深拷贝:
Cloner cloner = new Cloner();
Graph<V, E> clonedGraph = cloner.deepClone(graph);