使用转换的方式
方式一:递归
public static void main(String[] args) {
List<Zone> zones = listWithTree1();
System.out.println(zones);
}
public static List<Zone> listWithTree1() {
List<Zone> allMenu = new ArrayList<>();
allMenu.add(new Zone(1,"成都",0));
allMenu.add(new Zone(2,"南昌",0));
allMenu.add(new Zone(3,"四川",0));
allMenu.add(new Zone(4,"绵阳",3));
allMenu.add(new Zone(5,"天津",3));
allMenu.add(new Zone(6,"德阳",4));
allMenu.add(new Zone(7,"西充",1));
allMenu.add(new Zone(8,"重庆",7));
List<Zone> rootMenu = new ArrayList<>();
for (Zone menu : allMenu) {
if(menu.parentId == 0){
rootMenu.add(menu);
}
}
for (Zone nav : rootMenu) {
List<Zone> childList = getChildren(nav.getId(),allMenu);
nav.setChildren(childList);
}