package org.gocom.coframe.util;
import org.gocom.coframe.entity.TDesignLargeScreen;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author w
* @Date 2022/10/20 15:10
* @Version 1.0
*/
public class TreeUtil {
/**
* stream方法转换成树形结构
*
* @param treeList
* @return
*/
public static List<TDesignLargeScreen> streamMethod(List<TDesignLargeScreen> treeList) {
List<TDesignLargeScreen> list = treeList.stream()
// 筛选出父节点
.filter(t -> "0".equals(t.getParentId()))
// 设置父节点的子节点列表
.map(item -> {
item.setTree(streamGetChildren(item, treeList));
return item;
})
.collect(Collectors.toList());
return list;
}
/**
* stream 方式递归查找子节点列表
*
* @return
*/
public static List<TDesignLargeScreen> streamGetChildren(TDesignLargeScreen tree, List<TDesignLargeScreen> treeList) {
List<TDesignLargeScreen> list = treeList.stream()
.filter(t -> t.getParentId().equals(tree.getId()))
.map(item -> {
item.setTree(streamGetChildren(item, treeList));
return item;
})
.collect(Collectors.toList());
return list;
}
}
List转树接口工具类
最新推荐文章于 2023-11-09 00:51:40 发布