栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Java8特性Stream工作使用总结

Java 更新时间:发布时间: 百科书网 趣学号
1.Steam流 求取最大、最小、求和
        List curve = electricTotalHourReportMapper.curve(paramterSo);
        BigDecimal max = curve.stream().map(ElectricTotalHourReport::getRecord).max(BigDecimal::compareTo).get();
        BigDecimal min = curve.stream().map(ElectricTotalHourReport::getRecord).min(BigDecimal::compareTo).get();

   BigDecimal energyCategorySum = energyCategory.stream()
                .map(ElectricDailyReport::getRecord)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
2.Steam流 递归组建菜单树
    // 组建常规菜单树
    public List sysMenuTree(List sysMenuList) {
        //    获取一级菜单
        List levelMenus_1 = sysMenuList.stream()
                .filter(sysMenu -> sysMenu.getParentId() == 0)
                .map((sysMenu) -> {
                    sysMenu.setChildren((getChildrens(sysMenu, sysMenuList)));
                    return sysMenu;
                })
                .collect(Collectors.toList());
        return levelMenus_1;
    }

    // 传入root节点,找到all子节点
    private List getChildrens(SysMenu root, List all) {
        List children = all.stream()
                .filter(SysMenu -> {
                    return root.getMenuId().equals(SysMenu.getParentId());
                }).map(SysMenu -> {
                    //递归查找子菜单
                    SysMenu.setChildren(getChildrens(SysMenu, all));
                    return SysMenu;
                }).collect(Collectors.toList());
        return children;
    }
3.Steam流 转map
       Map buildMap = SpringUtils.getBean(EnergyBuildMapper.class)
                .selectEnergyBuildList(new EnergyBuild())
                .stream().collect(Collectors.toMap(o->o.getId().toString(), o -> o));
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1076609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号