Итак, скажем, у меня есть список людей, которые связаны друг с другом, и каждый из них содержит свое собственное семейное древо.java обновить всех детей в списке
public class Person {
private int id;
private String name;
private List<Integer> ancestorIds;
private int parentId;
//getters and setters
}
так скажем, у меня есть список следующим образом:
List<Person> persons = new ArrayList<Person>();
persons.add(new Person(3,"grandpa", {}, null));
persons.add(new Person(4,"pa", {3,4},3));
persons.add(new Person(5,"uncle", {3,5},3));
persons.add(new Person(7,"me", {3,4,7},4));
Но теперь мы знаем, что мой дедушка его отец был на самом деле один с идентификатором 1 .. И мне нужно, чтобы обновить список. Как я могу это сделать, имея в виду, что мне нужно обновить его по строке. Итак, сначала мой дедушка .. Затем возьмите список его предков и передайте его моему папу и дяде (добавив также их идентификаторы). и затем я взял список своего папы и добавил меня. Я думаю, для этого мне нужен рекурсивный метод.
Заранее спасибо
Вам нужна подходящая структура данных, которая подходит для вашей проблемы (например, [Структура данных дерева] (http://en.wikipedia.org/wiki/Tree_%28data_structure%29)) – mshaaban
Почему у вас нет «Список предков' и 'Person parent'. –
aioobe