我有一个简单的类Person:
private String name;
private String surname;
List<Person> subPersons;
//getters & setters
如何以递归方式更新List中的值?例如,我在列表中有大小= 3的List(1)我有另一个大小为2的列表。我需要在每个子列表的Person类中更新值的递归方法。
P.S。对不起我的英文:)
答案 0 :(得分:1)
使用此功能可以更新任何深度的儿童:
public void update( Person person ) {
// Do whatever you want on that particular person
...
// Update sub persons (assume subPersons maay not be null, only empty)
for( Person subPerson: person.subPersons ) {
update( subPerson );
}
}
答案 1 :(得分:0)
public void recursiveUpdate(Person parent) {
// Modify name and surname
// parent.setName(...); parent.setSurname(...);
List<Person> children = parent.getSubPersons();
if ((children == null) || children.isEmpty()) {
return;
} else {
for (Person child : children) {
recursiveUpdate(child);
}
}
}