Когда я пытаюсь добавить некоторые элементы в дерево, я использую следующий метод:
void add(City added, City parent){
//parentNode is where the element should be added
TreeNode<City> parentNode = search(parent,this);
if (!parentNode.hasLeftChild()){
parentNode.setLeftChild(new TreeNode<City>(added,null,null));
} else {
TreeNode<City> next = parentNode.getLeftChild();
while(next.hasNextSibling()){
next = next.getNextSibling();
}
next.setNextSibling(new TreeNode<City>(added,null,null));
}
}
Тем не менее, проблема в том, что когда я вызываю метод с "this", я думаю, что основное дерево не меняется. Например, когда дерево состоит из одного элемента, я могу добавить любой элемент, который хочу правильно. Однако, скажем, мое дерево состоит из целого числа 1, забудьте о других вещах. Когда я добавляю 2 к моему дереву, нет проблем. Но когда я хочу добавить 3 как дочерний элемент 2, мой код отстой!
Должен ли я использовать рут и, если да, то как мне его реализовать?