我试图让两个节点链接在一起。当n
作为链接添加s
时,s
也应更新为添加n
作为链接。但代码自行调用并陷入无限循环,然后溢出。我怎样才能让节点相互分配,但不能递归地分配自己?如何在没有stackoverflow的情况下链接两个节点?
public class Node {
Set<Node> connections = new HashSet<Node>();
public static void main(String args[]) {
Node n = new Node();
Node s = new Node();
n.addNode(s);
}
public Node() {
}
public void addNode(Node newNode) {
connections.add(newNode);
newNode.addNode(this);
}
}
更新:我添加了此代码以使该方法调用另一个setter
方法。
public void addNode(Node newNode) {
connections.add(newNode);
newNode.addSingleNode(this);
}
protected void addSingleNode(Node newNode) {
connections.add(newNode);
}
}
随着更新你的问题似乎**解决**。还是有问题吗? – Zabuza
一切顺利,不得不等待暂停。 –
啊好的。刚刚被你编辑的问题弄糊涂了。通常情况下,您不会通过编辑在解决方案中包含解决方案。因此,我认为你有一个后续问题。 – Zabuza