java8 Steam 构建树结构
1.创建树结构的类
@Data
public class TreeNode {private Integer id;private Integer parentId;private String name;private List<TreeNode> children;}
2.构建树结构
public static List<TreeNode> getTree(){//获取父节点List<TreeNode> collect = trees.stream().filter(m -> m.getParentId() == 0).map((m) -> {m.setChildren(getChildrenList(m, trees));return m;}).collect(Collectors.toList());return collect;}/*** 获取子节点列表* @param tree* @param list* @return*/public static List<TreeNode> getChildrenList(TreeNode tree, List<TreeNode> list){List<TreeNode> children = list.stream().filter(item -> Objects.equals(item.getParentId(), tree.getId())).map((item) -> {item.setChildren(getChildrenList(item, list));return item;}).collect(Collectors.toList());return children;}
java8 Steam 构建树结构相关推荐
- Java8 Steam API中groupingBy和flatMap方法的使用
1. groupingBy分组器 /*** 使用java8 stream groupingBy操作,按城市分组list*/ @Test public void groupingByTest() {Ma ...
- java8 steam常用操作
java8 stream常用操作 遍历 list.stream().forEach(System.out::println); 获取实体list某个字段集合 list.stream().map(e - ...
- java8 steam流在当前数据对象上的操作。判断list中的属性值是否符合条件或者不为空,后赋值另一个属性的操作
不需要生成新的对象数据,只需要在原对象数据上进行操作即可. newDatas.Stream().filter(i->i.getName() ==null || StringUtils.isNot ...
- java steam collect,Java8 Steam 随笔记录
两个List集合过滤并根据比较找出差集,并将差集归类为List List changeBetLimitList = list.stream().filter(item -> item.getSi ...
- Java8 Steam 随笔记录
2019独角兽企业重金招聘Python工程师标准>>> 两个List集合过滤并根据比较找出差集,并将差集归类为List List<BetLimit> changeBetL ...
- java页面的模糊查询_利用java8 steam实现代码中模糊搜索以及分页实现
实现目标 image.png 朋友让实现在后台代码中实现模糊查询; 上代码 public class demoTest { List userzList = Lists.list( new Userz ...
- 企业级Java开发树结构数据封装(开发必用)
树结构数据封装 前言 一.树结构表模式 二.树结构案例 2.1 原生Java递归循环实现 2.1.1 创建实例对象 2.1.2 编写测试类 2.1.3 返回Json结果集 2.2 使用Jdk的Stre ...
- Java构建递归树工具类
Java构建树结构工具类 import java.util.ArrayList; import java.util.List;public interface TreeUtil {/*** 节点树抽象 ...
- JAVA构建树状结构
记一下自己在展示树状结构时候的几个写法,一个是确定有几个层级的,用于只有两三个层级的树状结构,写法简单一点.还有就是不确定有几个层级,也可能1个,也可能4个或者更多. 先说一下确定有几个层级的写法 这 ...
最新文章
- php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析
- 如何使用Android studio创建签名
- Ant Design Pro 改变默认启动端口号
- Python 前端的第三方库
- matlab验证对称三相电路,不对称三相电路中,中线的电流为()。 A.0 B. C. D....
- 1G、3G都失败了,5G也会失败吗?
- python中object转为float_object格式怎样无损转换成float64格式
- 开源素材网_22个用于广告素材的开源工具
- 阿里巴巴技术大牛赏鉴
- 古今地名对照总表 按笔划数排序 强烈推荐的资料
- iview中的Select选择器
- matlab定义sliced类型,Sliced Variables
- SNARK性能及安全——Prover篇
- Java计算圆、长方形、正方形的面积及周长,并比较打印各个图形的大小
- math_角函数反三角函数诱导公式三角/反三角恒等式
- 分享个神途游戏的辅助脚本,这类传奇手游能用的挂机工具
- 秋招面试之测试开发绿盟
- pyinstaller使用多帧ICO图标
- 动软.NET系统框架发布免费版本
- 以太网100Mhz频率为什么可以达到带宽1000Mbps