Steam流构建树结构

每当我们有构建树结构的需求时 写起来很麻烦,Steam流提供了一些构建树结构的api

ps: 如果不懂Steam流的请学习Steam流 这么不多介绍

废话不说上代码

List<CityVO> provinceList = dsCityInfoMapper.queryAgentProvince(agentId);
List<CityVO> districtList = dsCityInfoMapper.queryAgentDistrict(agentId, cityIds);
for (CityVO info : provinceList) {
			// 取出根节点判断
            for (CityVO cityInfo:info.getChildren()) {
                cityInfo.setChildren(this.getChildrenList(cityInfo, districtList));
            }
        }
 /**
     * 递归查询分类子节点
     * @param rootNode 根节点
     * @param dataList 所有节点 根节点信息
     */
    private List<CityVO> getChildrenList(CityVO rootNode, List<CityVO> dataList) {
        return dataList.stream()
                .filter(currentNode -> Objects.equals(currentNode.getPId(), rootNode.getId()))
                .peek((currentNode) -> currentNode.setChildren(getChildrenList(currentNode, dataList)))
                .sorted(Comparator.comparing(CityVO::getCreateTime).reversed())
                .collect(Collectors.toList());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值