实践Tree to List 上面讲到了平铺列表(List)转树形(Tree)结构,一般来说对于足够后端数据转成前端想要的结构了。但都支持了正向转换,那么反向转换,即树形(Tree)结构如何转平铺列表(List)呢? 递归实现 递归实现,分为两个函数,List<INodeDTO> flatten(List<INodeDTO> flatList)接受外部调用,传入待转换的Tree形结构。...
很多时候为满足前后端交互的数据结构需求,往往我们需要把平铺的 List 数据与 Tree 型层级数据结构进行互转,这篇文章提供详实的递归和非递归的方式去实现数据结构转换,为了使用到 lambda 的特性, Java version >=8 。 需求 我们从基础设施层获取了一个列表数据,列表其中的对象结构如下,注意约束条件如果没有pid,默认...
返回Key为顶级菜单id的列表(这里顶级菜单Id为-1) 实现代码 public List<AppMenuTree> listToTreeByMap() { // 获取菜单列表 List<AppMenuTree> menuList = Convert.toList(AppMenuTree.class, getMenuList()); // 根据父菜单id进行分类 Map<Integer, List<AppMenuTree>> parentMap = menuList.stream() ....
zoneList.forEach(zone-> zone.children =zoneByParentIdMap.get(zone.id));returnzoneList.stream().filter(v -> v.parentId.equals("0")).collect(Collectors.toList()); } } 测试类 packagecom.springbootemaildemo.tree.zone;importcom.alibaba.fastjson.JSON;importjava.util.ArrayList;importjava.util....
* 对象List转为Tree树形结构 * @param entityList 传进来的泛型List * @param parentFieldName 父级字段名称 * @return */ public final List<Map<String, Object>> listToTree1(List<T> entityList, String parentFieldName){ //返回的map Tree树形结构 List<Map<String, Object>> treeMap = new ...
/** * 对象List转为Tree树形结构 * @param entityList 传进来的泛型List * @param parentFieldName 父级字段名称 * @return */ public final List<Map<String, Object>> listToTree1(List<T> entityList, String parentFieldName){ //返回的map Tree树形结构 List<Map<Strin...
java的List列表转成Tree(树形)结构列表 直接看借鉴博客:https://blog.csdn.net/massivestars/article/details/53911620/ 由于我的业务没有⽗⼦级id两个字段,只有⼀个层级id字段来分层,如⼀级数据:01,02,03...,⼆级数据:0101,0102,0103,0201,...,三级数据:010101,010102...等等,但思路...
* 对象List转为Tree树形结构 * @param entityList 传进来的泛型List * @param parentFieldName 父级字段名称 * @return */ public final List<Map<String, Object>> listToTree1(List<T> entityList, String parentFieldName){ //返回的map Tree树形结构 ...
@ApiOperation(value= "树形结构列表") @GetMapping("/list")publicResponseEntity listUser() { TreeNode node=newTreeNode(); List<Test2> treeList =test2Service.getTreeList();if(treeList.size() > 0) {for(Test2 test : treeList) {//初始化TreeNode tn =newTreeNode(test.getId(), test.getParen...
publicclassTreeNode{privateString id;privateString pid;privateString name;privateList<TreeNode>children = new ArrayList<>(); public TreeNode(){}public TreeNode(String id, String pid, String name){this.id=id;this.pid=pid;this.name=name;}public String getId(){returnid;}public void setId(Stri...