利用Map把一维数据转换成树结构
来源:互联网 发布:太原java薪资待遇如何 编辑:程序博客网 时间:2024/06/05 10:17
工具类:
import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;public class AssmTreeUtil {public static List<TreeNode> assmTree(List<TreeNode> singleTreeNodes) {if(singleTreeNodes == null || singleTreeNodes.isEmpty()) {return null;}List<TreeNode> nodeTrees = new ArrayList<TreeNode>();Map<String,TreeNode> treeMap = new LinkedHashMap<String,TreeNode>();for(TreeNode node : singleTreeNodes){TreeNode treeNode = new TreeNode();treeNode.setNodeId(node.getNodeId());treeNode.setNodeName(node.getNodeName());treeNode.setPid(node.getPid());treeMap.put(node.getNodeId(), treeNode);}for(String nodeId : treeMap.keySet()){TreeNode treeNode = treeMap.get(nodeId);String pid = treeNode.getPid();if(pid==null || pid.length()==0 || !treeMap.containsKey(pid)){treeNode.setPid("");nodeTrees.add(treeNode);}else{TreeNode parentTreeNode = treeMap.get(pid);if(parentTreeNode.getChildren()==null){parentTreeNode.setChildren(new ArrayList<TreeNode>());}parentTreeNode.getChildren().add(treeNode);}}return nodeTrees;}}
bean类:
import java.util.List;public class TreeNode {/** * 父节点ID */private String pid;/** * 节点ID */private String nodeId;/** * 节点名称 */private String nodeName;/** * 子节点 */private List<TreeNode> children;public String getPid() {return pid;}public void setPid(String pid) {this.pid = pid;}public String getNodeId() {return nodeId;}public void setNodeId(String nodeId) {this.nodeId = nodeId;}public String getNodeName() {return nodeName;}public void setNodeName(String nodeName) {this.nodeName = nodeName;}public List<TreeNode> getChildren() {return children;}public void setChildren(List<TreeNode> children) {this.children = children;}}
小结:实现相关功能的,网上也有其它例子,但都是用多个ArrayList的,代码比较长。利用LinkedHashMap能更好的实现。
阅读全文
0 0
- 利用Map把一维数据转换成树结构
- java 把请求数据转换成map数据
- 把xml转换成map
- 把xml转换成map
- 把 Array 转换成 Map
- 如何将一个map结构的数据转换成JSON结构的数据
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
- jsp页面把获取的map数据转换成json格式的数据来使用
- java中把map转换成list
- 把MAP集合转换成List集合
- 通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- php把数据集转换成树状结构,无限极分类生成树状
- Json学习笔记(一)-利用Fastjson将String转换成Map,List和数组
- java数据转换成树的结构
- 【第15篇】通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- 利用多叉树将数据库中的层次数据转换成树形结构的JSON字符串
- iOS简单实用方法封装
- 独家 | 一文读懂社交网络分析-下(应用、前沿、学习资源)
- sys_call_table 的总结
- 数据的归档与解归档
- Android--adb命令详解
- 利用Map把一维数据转换成树结构
- Android Fragment重影的解决方法
- 迁移VMWare虚拟机到KVM
- IOS开发中分析carsh log文件
- SDAutolayout用法解析
- linux线程绑定到指定cpu运行
- ASP.NET Core之跨平台的实时性能监控(2.健康检查)
- 初识Hibernate之关联映射(二)百度_合作
- springMV配置日志log4j,以及在linux服务器中查询日志