5

在 JUNG 1.7.6 中有用于此目的的函数 copy() (myGraph.copy()),但在 JUNG 2.0 中,此函数不再存在。我找不到任何其他可能性来创建图形对象的副本。如果有人可以帮助我,我会很高兴。一个解决方法也会很好。

非常感谢!

4

3 回答 3

7

下面的代码带有泛型,因此您应该将VE替换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));
于 2012-05-06T14:32:00.557 回答
0

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

于 2012-05-06T12:21:22.680 回答
0

你可以做一个顶点和边的简单副本,这将创建一个新的图表,但里面的对象将通过引用传递,所以你可以使用这个克隆库https://code.google.com/p/cloning/

并做一个深拷贝:

Cloner cloner = new Cloner();
Graph<V, E> clonedGraph = cloner.deepClone(graph);
于 2014-01-16T08:28:55.043 回答