您的位置:首页 > 编程语言 > Java开发

Java tree递归

2016-04-15 19:24 369 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: