如果我的班级有一个" sub"类,即同一个类的实例,这可以无限次地嵌套多次,有没有办法可以遍历树中的每个列表?
public class Region {
List<Region> subRegions = new ArrayList<Region>();
}
一个地区可能有许多次区域,一个次区域可能有许多次区域,依此类推。
答案 0 :(得分:1)
可以使用Recursion完成此操作。
示例强>
让我们为您的区域添加一个名称,并使用递归方法以递归方式打印所有名称。
public class Region {
String name;
List<Region> subRegions = new ArrayList<Region>();
void printAll() {
System.out.println(name);
for (subRegion : subRegions) {
subRegion.printAll(); // <-- this is recursive call
}
}
}
答案 1 :(得分:1)
您可以创建recursive功能
public void loopThrough(List<Region> regions) {
for(Region region : regions) {
if(region.hasSubRegion()) {
loopThrough(region.getSubRegions());
}
}
}