java list转树形
来源:互联网 发布:win7网吧系统优化 编辑:程序博客网 时间:2024/06/06 12:44
//树形实体public class ExtTreeEntity {private String id;private String parentId;//父节点private String text;//树形显示的文本private boolean leaf;//是否叶子节点private List<ExtTreeEntity> children; //TOTO getter/setter}
List<Entity> list = getAllEntity();//从数据库查询所有数据ExtTreeEntity treeObj = new ExtTreeEntity();treeObj.setId("0");treeObj.setParentId("-1");treeObj.setText("根节点");List<ExtTreeEntity> extTreeEntitys = new ArrayList<ExtTreeEntity>();ExtTreeEntity obj = new ExtTreeEntity();for (Entity entity: list) {if (entity.getPid() == 0) {obj = new ExtTreeEntity();obj.setId(entity.getId() + "");obj.setParentId(entity.getPid() + "");obj.setText(entity.getName());extTreeEntitys.add(obj);}}treeObj.setChildren(extTreeEntitys);treeObj = recursiveTree(list,treeObj);
public ExtTreeEntity recursiveTree(List<Entity> list,ExtTreeEntity treeObj) {for (ExtTreeEntity extTreeEntity : treeObj.getChildren()) {String id = extTreeEntity.getId();List<ExtTreeEntity> children = new ArrayList<ExtTreeEntity>();for (Entity entity : list) {String parentId = entity.getPid() + "";if (id.equals(parentId)) {ExtTreeEntity obj = new ExtTreeEntity();obj.setId(entity.getId() + "");obj.setParentId(entity.getPid() + "");obj.setText(entity.getName()); obj.setLeaf(false);children.add(obj);}}extTreeEntity.setChildren(children);if (extTreeEntity.getChildren().size()==0) {extTreeEntity.setLeaf(true);//叶子节点}recursiveTree(list,extTreeEntity);}return treeObj;}
0 0
- java list转树形
- java list转换为树形
- Java程序组装树形List
- java list 转 树形json 递归效率对比
- List转树形数据,供tree使用
- java将list转为树形结构的方法
- 树形结构list构建(树形实体)
- list转换成树形数据
- java如何根据list以及根节点id获取树形展示数据?
- Java 将list集合转化成树形结构的JSON对象
- JAVA LIST 遍历[转]
- java 数组转List
- JAVA LIST 遍历[转]
- java 数组转List
- java Map 转 List
- java Map 转 List
- Java stack转List
- java list 转 XML
- Android:通过自定义ImageView实现带边框的ImageView
- zigbee学习之睡眠定时器
- UIView 中常见的方法总结
- error LNK2026: 模块对于 SAFESEH 映像是不安全的
- protobufのjava应用
- java list转树形
- JSON 转成 C# 动态类
- 复制文件
- CentOS下批量校验文件md5值
- mybatis增、删、改、查
- 【C#高效编程50例】条目1:使用属性而不是可访问的数据成员
- 验证 FFmpeg+SDL 的配置是否正确
- C++进阶学习——单例模式的实现
- vi/vim个人配置文件