上面讲到了平铺列表(List)转树形(Tree)结构,一般来说对于足够后端数据转成前端想要的结构了。但都支持了正向转换,那么反向转换,即树形(Tree)结构如何转平铺列表(List)呢? 递归实现 递归实现,分为两个函数,List<INodeDTO> flatten(List<INodeDTO> flatList)接受外部调用,传入待转换的Tree形结构。第一步便是收集所有...
Map<Integer, List<AppMenuTree>> parentMap = menuList.stream() .collect(Collectors.groupingBy(AppMenuTree::getParentId)); for (Entry<Integer, List<AppMenuTree>> entry : parentMap.entrySet()) { List<AppMenuTree> childMenus = entry.getValue(); // 对子菜单赋值 for (AppMenuTree childMenu ...
zoneList.add(new Zone("32", "洛阳", "3")); zoneList.add(new Zone("321", "洛龙", "32")); zoneList.add(new Zone("11", "松江", "1")); zoneList.add(new Zone("111", "泗泾", "11")); // 测试第一种方法 List<Zone> rootZone1 = ZoneUtils.buildTree1(zoneList); System.o...
public final List<Map<String, Object>> listToTree1(List<T> entityList, String parentFieldName){ //返回的map Tree树形结构 List<Map<String, Object>> treeMap = new ArrayList<>();//将传进的参数entityList转为MapList List<Map<String, Object>> listMap = JSON.parseObject(JSON.toJSONString(en...
把列表转换为树结构 /*** 把列表转换为树结构 * *@paramoriginalList 原始list数据 *@paramkeyName 作为唯一标示的字段名称 *@return组装后的集合*/publicstatic<T> List<T> getTree(List<T> originalList, String keyName)throwsException { String parentFieldName= "parentId"; ...
把列表转换为树结构 /*** 把列表转换为树结构 * *@paramoriginalList 原始list数据 *@paramkeyName 作为唯一标示的字段名称 *@return组装后的集合*/publicstatic<T> List<T> getTree(List<T> originalList, String keyName)throwsException { String parentFieldName= "parentId"; ...
* 实体类,list中的元素(数据库存储的实体) */@DataprivatestaticclassTag{privateStringid;//节点编号privateStringname;//节点名字privateStringparentId;//节点父级编号}/** * 树中的节点信息 */@DataprivatestaticclassTreeNodeTag{privateStringid;privateStringname;privateStringparentId;//里面的数据就是子节点...
java的List列表转成Tree(树形)结构列表 直接看借鉴博客:https://blog.csdn.net/massivestars/article/details/53911620/ 由于我的业务没有⽗⼦级id两个字段,只有⼀个层级id字段来分层,如⼀级数据:01,02,03...,⼆级数据:0101,0102,0103,0201,...,三级数据:010101,010102...等等,但思路...
比较parentId和id集合,获取到顶级下的第二级 对两个id列表进行set,然后通过set的removeAll方法过滤到id Set<String> idSet = childList.stream().map(templateInfo -> templateInfo.getFdId()).collect(Collectors.toSet()); Set<String> parentIdSet = parentIdMap.keySet(); HashSet<String> set = new ...
(parentIdKey); TreeNode<T> node = new TreeNode<>(map); // 假设TreeNode有一个接受Map的构造函数 nodeMap.put(id, node); } // 构建树形结构 for (Map<String, T> map : list) { T id = map.get(idKey); T parentId = map.get(parentIdKey); TreeNode<T&...