62,614
社区成员
发帖
与我相关
我的任务
分享
private List<GeographicalArea> areaArray = new ArrayList<GeographicalArea>();
public void recursionFn(GeographicalArea area){
if(area.getSubAreas()!=null && area.getSubAreas().size() >0){
areaArray.add(area);
Iterator<GeographicalArea> childIT = area.getSubAreas().iterator();
while(childIT.hasNext()){
GeographicalArea node = (GeographicalArea)childIT.next();
recursionFn(node);
}
}else{
areaArray.add(area);
}
}
调整格式为java,方便大家看。 public GeographicalArea[] getAreaWithSubarea() {
ArrayList<GeographicalArea> list = this.getSubarea();
GeographicalArea[] areas = new GeographicalArea[list.size()];
int i = 0;
for (GeographicalArea area : list) {
areas[i++] = area;
}
return areas;
}
private ArrayList<GeographicalArea> getSubarea() {
ArrayList<GeographicalArea> areas = new ArrayList<>();
for (GeographicalArea area : this.subAreas) {
areas.add(area);
areas.addAll(area.getSubarea());
}
return areas;
}