2015-12-24 77 views
-1

我有一個簡單的類人:更新值遞歸

private String name; 
private String surname; 
List<Person> subPersons; 

//getters & setters 

我怎麼可以在列表遞歸的更新值?例如我有大小爲3的列表。在列表(1)中我有另一個大小爲2的列表。我需要在每個子列表中的Person類中更新值的遞歸方法。

P.S.對不起,我的英語:)

+2

什麼你到目前爲止已經試過? –

回答

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); 
    } 
} 
+0

這麼簡單?大!! –

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); 
     } 
    } 

}