Java tree递归

来源:互联网 发布:java 服务端mqtt推送 编辑:程序博客网 时间:2024/05/02 03:06
public List<TreeNode> getMenu(long id){List<TreeNode> treeNodes = new ArrayList<TreeNode>(); List<SysMenu> list = sysMenuService.queryByParentId(id); Iterator<SysMenu> iterator = list.iterator(); while(iterator.hasNext()){ SysMenu sysMenu = iterator.next(); TreeNode tn1 = new TreeNode(); tn1.setId(sysMenu.getId()); tn1.setText(sysMenu.getText()); tn1.setLeaf(tn1.getLeaf()); tn1.setUrl(sysMenu.getUrl()); TreeNode tn2 = getChildren(tn1); treeNodes.add(tn2); }return treeNodes;}public TreeNode getChildren(TreeNode node){List<TreeNode> treeNodes = new ArrayList<TreeNode>();TreeNode treeNode = new TreeNode();treeNode.setId(node.getId());treeNode.setIcon(node.getIcon());treeNode.setUrl(node.getUrl());treeNode.setText(node.getText());List<SysMenu> childList = sysMenuService.queryByParentId(node.getId());Iterator<SysMenu> iterator = childList.iterator();while (iterator.hasNext()) {SysMenu sysMenu = iterator.next();TreeNode tn1 = new TreeNode();tn1.setId(sysMenu.getId());tn1.setText(sysMenu.getText());tn1.setUrl(sysMenu.getUrl());tn1.setLeaf(tn1.getLeaf());TreeNode tn2 = getChildren(tn1);treeNodes.add(tn2);}treeNode.setChildren(treeNodes);return treeNode;}

0 0
原创粉丝点击