java list 转 tree,加排序
来源:互联网 发布:java 替换@为换行 编辑:程序博客网 时间:2024/05/16 14:25
参考文章,十分感谢
http://blog.csdn.net/massivestars/article/details/53911620
实体类
import java.util.List;public class Resource implements Comparable<Resource> { /** * 主键ID */ private String id; /** * 父ID */ private String pId; /** * 名称 */ private String name; /** * 第几级 */ private Integer leaf; /** * 排序 */ private Integer sno; /** * 子权限 */ private List<Resource> children; public String getId() { return id; } public void setId(String id) { this.id = id == null ? null : id.trim(); } public String getpId() { return pId; } public void setpId(String pId) { this.pId = pId == null ? null : pId.trim(); } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public Integer getLeaf() { return leaf; } public void setLeaf(Integer leaf) { this.leaf = leaf; } public Integer getSno() { return sno; } public void setSno(Integer sno) { this.sno = sno; } public List<Resource> getChildren() { return children; } public void setChildren(List<Resource> children) { this.children = children; } @Override public int compareTo(Resource o) { // 先根据节点排序,再根据排序号排序 int i = this.getLeaf() - o.getLeaf(); if (i == 0) { i = this.getSno() - o.getSno(); } return i; }}
list 转 tree 方法(两层循环实现建树 )
public List<Resource> bulid(List<Resource> resources) { List<Resource> trees = new ArrayList<Resource>(); for (Resource treeNode : resources) { for (Resource it : resources) { if (it.getpId().equals(treeNode.getId())) { if (treeNode.getChildren() == null) { treeNode.setChildren(new ArrayList<Resource>()); } treeNode.getChildren().add(it); // 排序 Collections.sort(treeNode.getChildren()); } } } // 排序 Collections.sort(trees); return trees;}
阅读全文
0 0
- java list 转 tree,加排序
- java List 转 Tree结构
- java List 排序 Collections.sort() 对 List 排序(转)
- java list排序 -List.stream()
- 实测Java中priority queue, list, hash map, tree map 的排序
- Java Set转List,排序,去重
- JAVA List 排序 冒泡排序
- list 排序java代码
- list 排序java代码
- Java List 排序
- java list排序
- java list排序
- Android Java List 排序
- java list排序
- java之List排序
- Java List排序
- java list 中文 排序
- Java List排序
- 汇编寄存器详解
- Navicat premium连接Oracle报ORA-12514错误
- Manifest
- html5 localStorage api
- ubuntu系统下一些问题的解决1
- java list 转 tree,加排序
- Navicat premium连接Oracle报ORA-12545错误
- Linux-Crontab定时任务
- 正则笔记积累
- canvas系列教程02-直线和曲线
- 2017年12月21日
- java线程安全和锁机制详解
- Navicat premium连接Oracle报ORA-12541错误
- Java虚拟机工作原理