【发布时间】:2012-10-04 20:39:51
【问题描述】:
我有一个带有节点的图形类,每个节点都可以连接到其他节点:
public class Node {
List<Node> connections;
}
我想制作整个图表的深层副本。作为第一次尝试,我尝试制作一个复制构造函数,例如:
public Node(Node other) {
connections = new ArrayList<Node>();
for (Node n : other.connections) {
connections.add(new Node(n));
}
}
所以深度复制一个图表就是:
public Graph deepCopy () {
Graph g = new Graph();
g.nodes = new ArrayList<Node>();
for (Node n : nodes) {
g.nodes.add(new Node(n));
}
}
但这不起作用,因为它破坏了节点之间的连接关系。我想知道是否有人建议以简单的方式做到这一点?谢谢。
【问题讨论】:
标签: java data-structures clone deep-copy