在之前做项目的时候 比如在做一个博客项目时对文章的评价 进行树结构的组装时 虽然评价 只设置了2级评论 只需通过for循环就可以进行组装 数据返回前端即可 但是后来 做了一个商城项目 对商品分类通过树结构进行返回 所以用到了stream 流的操作 方便 快捷 如果使用普通for循环去操作需要写很多代码 。
首先我自定义了一个student 类 每一个对象都有一个子对象集合并且有一个父Id
伪造了一些数据 然后调用自己写的 tree方法 进行组装 首先通过stream 流的filter 过滤方法 筛选出 所有的一级节点 然后 把每一个一级节点 通过写的 getChildren方法进行递归注入
最终的结果 通过json 格式转化 以后就能明显的看出来了
stream 流还有一些常用的api
filter 过滤
map操作
分组操作
对分组之后可以进行一个count suming 操作
collect 最终可以返回成一个list集合也可返回成一个map
还有 分页操作 skip 跳过多少个 limit 返回多少条
distinct去重
sort 排序