这是我的情景。我有以下对象;
public class MyTemplate{
private MyTemplate[]childTemplates;
}
现在在同一个类中,我有一个数组,它包含同一个对象的子元素,在本例中是一个模板。我需要的是能够遍历这些元素中的每个元素和元素,因为这可以像树结构。我现在想不出能够涵盖元素中每一个子元素的方式。
感谢是否有人能指引我走向正确的方向。
答案 0 :(得分:6)
喜欢这个吗?
public class MyTemplate
{
private MyTemplate[] childTemplates;
void iterate()
{
// do something with this
for (MyTemplate template: childTemplates)
template.iterate();
}
}
答案 1 :(得分:1)
您还可以使用每个模板执行一个过程:
public class MyTemplate
{
private MyTemplate[] childTemplates;
void iterate()
{
preProcess();
for (MyTemplate template: childTemplates)
template.iterate();
postProcess();
}
void preProcess()
{
// do something before iterating through the children
}
void postProcess()
{
// do something afterwards
}
}
答案 2 :(得分:1)
试试这个:
public traverse() {
if(children == null || children.size == 0) {
return;
}
for(i = 0; i < children.size; i++) {
children[i].doSomething();
children[i].traverse();
}
}