三、list转树形方法 代码语言:javascript 复制 publicstaticList<NodeVO>streamToTree(List<NodeVO>treeList,Integer parentId){returntreeList.stream()// 过滤父节点.filter(parent->Objects.equals(parent.getPid(),parentId))// 把父节点children递归赋值成为子节点.peek(child->child.setChildren(streamToTree(tr...
package list; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class ListToTreeTest { public static void main(String[] args) { List<TestEntity> list...
创建一个方法,用于将List数据转换成Tree。代码示例如下: publicstaticTreeNodebuildTree(List<TreeNode>nodes){Map<String,TreeNode>nodeMap=nodes.stream().collect(Collectors.toMap(node->node.id,Function.identity()));TreeNoderoot=null;for(TreeNodenode:nodes){if(node.parentId==null){root=node;}else{Tr...
});//分组Map<String, List<TreeMenuNode>> collect = treeNodeList.stream().collect(Collectors.groupingBy(TreeMenuNode::getParentId));//树形结构 肯定有一个根部,我的这个根部的就是parentId.euqal("0"),而且只有一个就get("0")TreeMenuNodetreeMenuNode=collect.get("0").get(0);//拼接数据forEa...
Java 列表转树状结构 list to tree 利用stream 实现 List 转树状结构的两种方法 方法一 方法二 测试 改造 利用stream 实现 List 转树状结构的两种方法 先构造一个节点类 包含必须属性 3个 /** * @author zjt * @date 2022-10-12 ...
利用JDK8 Stream 手动将List 数据转化为树形结构的数据 创建实体类 根节点parentId为null @Data@BuilderpublicclassNodeBO{privateStringid;privateStringparentId;privateList<NodeBO>children;// ... 其他不重要属性省略} 转树形的工具类 publicclassTreeUtils{publicstaticList<NodeBO>toTree(List<NodeBO>originalList...
*/publicvoidsetChildren(List<INodeDTO> children); } 复制代码 每个方法接口有详细的注释,无需多说。然后提供通用的转换Function。 /** * 非递归实现平铺数据转成Tree型结构 */staticfinalFunction<List<INodeDTO>,List<INodeDTO>>MULTI_TREE_CONVERTER=sources->sources.stream() ...
private List<NextRouteVO>getNextRouteByMap(List<NextRouteVO>menuList){// 将集合转为map结构,key为parentId,value为其对应的list集合Map<Long,List<NextRouteVO>>menuMap=menuList.stream().collect(Collectors.groupingBy(NextRouteVO::getParentId));// 遍历集合,设置其子节点for(NextRouteVO nextRouteVO:me...
package com.jianshu.utils; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.List; import java.util.stream.Collectors; /** * @author fubo */ @Slf4j public class TreeUtil { /** * @param list 全部节点列表 * @param rootParentId 根节点ID * @param <T> 节点数据mod...
packagecom.egaoqi.service.impl.company;importcom.egaoqi.entity.ZhField;importcom.egaoqi.util.TreeMenuNode;importjava.util.ArrayList;importjava.util.Comparator;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;publicclasstoModel{privatestaticvoidforEach(Map<String,List<TreeMenuNo...