addChild добавляет объект в HashSet, нахождение объекта в коллекции говорит о том, что он является ребенком объекта, вызавшевого метод:
a.addChild (b);
b.addChild (c);
findChild рекурсивно ищет ребенка по полю data:
Собственно, сам вопрос. После 1 иттерации поле метода data совпадает полем data искомого объекта. Почему не отрабатывает return и выполнение идет дальше?
public TreeNode findChild (Object data) {
Iterator<TreeNode> iterator = getChildrenIterator ();
TreeNode node;
while (iterator.hasNext ()) {
node = iterator.next ();
if (node.getData ()==data) {
return node;
}
node.findChild (data);
}
return null;
}
}
Проверяйте результат вызовов node.findChild:
TreeNode result = node.findChild(data);
if (result != null)
return result;
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости