我試圖讓兩個節點鏈接在一起。當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