使用list添加节点排序的数据

public void findTree(List<Record> menuList, Integer pid, int grade) {
	grade++;
	List<Record> tmp = null;
	if(pid == null) {
	      tmp = Db.find("select * from buss_menu where pid is null order by sort asc");
	}else {
	      tmp = Db.find("select * from buss_menu where pid = ? order by sort asc",pid);
	}
	      for(Record menu : tmp) {
		menu.set("grade", grade);
		menuList.add(menu);
		findTree(menuList,menu.getInt("id"), grade);
	}
}

或者

//递归排序节点
public List<Record> treeGrid(List<Record> newList,List<Record> oldList,Integer pid){
      for (Record mu : oldList) {
            //遍历出父id等于参数的id,add进子节点集合
            if (mu.get("pid") == pid) {
                  //递归遍历下一级
                  newList.add(mu);
                  treeGrid(newList,oldList,mu.get("id"));
            }
      }
      return newList;
}

  

posted @ 2020-06-09 10:30  濑户内海  阅读(290)  评论(0)    收藏  举报