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; }
相关文章推荐
- JAVA——this语句
- Java课程“新”得(五)
- 熟练掌握HDFS的Java API接口访问
- 用Java写脚本,常用的一些方法
- Java8之Stream语法详解
- java并发:线程同步机制之计数器&Exechanger
- JAVA IO(一)
- java第五次作业
- 【Java】Map
- jdk 安装
- spring webflow getting start
- java反射以获取父类属性的值
- JAVA 反射总结
- java 执行bat批处理文件 并关闭cmd窗口
- 【华为机试题】和尚挑水
- java爬虫 之 搜狐新闻爬虫(三)
- eclipse svn使用小记
- JAVA学习篇--静态代理VS动态代理
- Java--计算中英文长度的若干种方法
- java爬虫 之 搜狐新闻爬虫(二)