1.菜单类:
import java.util.ArrayList;
import java.util.List;
public class MenuVO {
private int id;
private String name;
private int parentId;
private List<MenuVO> children;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getParentId() {
return parentId;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public List<MenuVO> getChildren() {
return children;
}
public void setChildren(List<MenuVO> children) {
this.children = children;
}
public static List<MenuVO> getMenuTree(int parentId,List<MenuVO> menuVOs) {
List<MenuVO> menuListTree = new ArrayList<MenuVO>();
for (MenuVO menuVO : menuVOs) {
if (parentId == menuVO.getParentId()) {
List<MenuVO> children = getMenuTree(menuVO.getId(), menuVOs);
if(!children.isEmpty()){
menuVO.setChildren(children);
}
menuListTree.add(menuVO);
}
}
return menuListTree;
}
}
2.测试类:
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<MenuVO> menuVOs = new ArrayList<MenuVO>();
for (int i = 0; i < 3; i++) {
MenuVO menuVO = new MenuVO();
int id =i+1;
menuVO.setId(id);
menuVO.setParentId(0);
menuVO.setName("menuOne-"+i);
menuVOs.add(menuVO);
int count = i+20;
menuVO = new MenuVO();
menuVO.setId(count);
menuVO.setParentId(id);
menuVO.setName("menuTWO-"+i);
menuVOs.add(menuVO);
menuVO = new MenuVO();
menuVO.setId(i+100);
menuVO.setParentId(count);
menuVO.setName("menuTHEE-"+i);
menuVOs.add(menuVO);
}
List<MenuVO> menuVOs2 = MenuVO.getMenuTree(0, menuVOs);
System.out.println(menuVOs2);
}
}