packagecom.demo.web.test;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Objects;importcom.demo.web.model.Menu;importcom.google.gson.Gson;public classTest7 {private static List
public static voidmain(String[] args) {//List
List
Menu mu=newMenu();
mu.setId(1);
pidList.add(mu);
mu.setName("目录");
mu.setParentid("0");
Menu mu1=newMenu();
mu1.setId(2);
mu1.setName("目录1");
mu1.setParentid("1");
Menu mu2=newMenu();
mu2.setId(3);
mu2.setName("目录2");
mu2.setParentid("1");
Menu mu3=newMenu();
mu3.setId(4);
mu3.setName("目录3");
mu3.setParentid("1");//目录3下子节点
Menu mu4=newMenu();
mu4.setId(5);
mu4.setName("目录4");
mu4.setParentid("4");
treeList.add(mu);
treeList.add(mu1);
treeList.add(mu2);
treeList.add(mu3);
treeList.add(mu4);//pid
System.out.println("pidList:-------------------"+pidList);
List
System.out.println(menu.getId()+" ------- "+menu.getName()+" "+menu.getChildren().get(2).getChildren());
}
System.out.println("7715-=-----------"+tree.get(0).getChildren());
Gson gson= new Gson();//import com.google.gson.Gson;
String result = gson.toJson(tree);//pojo
System.out.println("我看看0---------"+result);
}public static List
if(menu==null) return null;//获取到所有一级节点//List
List
list.add(recursiveTree(parentList.get(i).getId()));
}
}returnlist;
}/*** 递归算法解析成树形结构
*@paramcid*/
public staticMenu recursiveTree(Integer cid) {
Menu node=getMenuById(cid);
List
Menu n=recursiveTree(child.getId());
List
list.add(n);
System.out.println(node.getChildren());if (node.getChildren()==null) {
List
node.setChildren(li);
}//node.setChildren(list);
node.getChildren().add(n);
}returnnode;
}/*** 根据CID查询节点对象*/
public staticMenu getMenuById(Integer cid){
Map map=getTreeMap();return(Menu) map.get(cid);
}/*** 一次性取所有数据,为了减少对数据库查询操作
*@return
*/
public staticMap getTreeMap(){
Map map= new HashMap();if(null !=treeList){for(Menu d : treeList){
map.put(d.getId(), d);
}
}returnmap;
}/*** 根据父节点CID获取所有了节点*/
public static List
List
list.add(d);
}
}
}
}returnlist;
}
}