• lambda java 实例


    源代码

        //pooo 是一个复合vo 代表一组数据的集合,内部包含其他vo和list,代码的目的是循环vo内部的数据 选出符合条件的特定数据
        Map<Long,List<String>> paaaaaMap=
                    pooo.getpaaaaas().stream().filter(paaaaa -> paaaaa.getcooooooos()!=null).filter(paaaaa-> paaaaa.getpooorrrrs()!=null).filter(paaaaa-> paaaaa.getpooorrrrs().stream().
                anyMatch(pooorrrr -> Arrays.asList(fbbbbrolesArray).contains(pooorrrr.getpaaaaaRole()))).
                filter(paaaaa -> paaaaa.getcooooooos().stream().filter(Objects::nonNull).anyMatch(cooooooo -> cooooooo.getContactType() == 777&&
                cooooooo.getcooooooo()!=null&&!cooooooo.getcooooooo().trim().isEmpty())).
                    collect(Collectors.toMap(paaaaa::getpaaaaaOID, paaaaa->paaaaa.getpooorrrrs().stream().map(pooorrrr::getpaaaaaRole).collect(Collectors.toList())));
             
            //  二次循环的目的是用map数据作为key获取外部数据
            Map<String,String> alertMap=
                    paaaaaMap.entrySet().stream().collect(Collectors.toMap(paaaaa->(String)hashmap.get(paaaaa.getKey()+"CCCCNUM"),
                    paaaaa->paaaaa.getValue().stream().reduce((one,tow)-> one+=tow).get()));

    分解

        //pooo 是一个复合vo 代表一组数据的集合,内部包含其他vo和list,代码的目的是循环vo内部的数据 选出符合条件的特定数据
        Map<Long,List<String>> paaaaaMap=
                    pooo.getpaaaaas().stream() //获取二层vo 并stream化
    .filter(paaaaa
    -> paaaaa.getcooooooos()!=null).filter(paaaaa-> paaaaa.getpooorrrrs()!=null) //第三层list校验
    .filter(paaaaa-> paaaaa.getpooorrrrs().stream(). //这里用filter检验 anymatch里返回的布尔类型数据 anyMatch(pooorrrr -> Arrays.asList(fbbbbrolesArray).contains(pooorrrr.getpaaaaaRole()))).//anymatch 返回一组循环里是否有一个符合,有就是true filter(paaaaa -> paaaaa.getcooooooos().stream().filter(Objects::nonNull).anyMatch(cooooooo -> cooooooo.getContactType() == 777&& cooooooo.getcooooooo()!=null&&!cooooooo.getcooooooo().trim().isEmpty())).//这里过滤的是三层list里的四层vo数据 collect(Collectors.toMap(paaaaa::getpaaaaaOID, paaaaa->paaaaa.getpooorrrrs().stream().map(pooorrrr::getpaaaaaRole).collect(Collectors.toList())));//最后合成map // 二次循环的目的是用map数据作为key获取外部数据 Map<String,String> alertMap= paaaaaMap.entrySet().stream().collect(Collectors.toMap(paaaaa->(String)hashmap.get(paaaaa.getKey()+"CCCCNUM"), paaaaa->paaaaa.getValue().stream().reduce((one,tow)-> one+=tow).get()));//reduce拼接循环数据
  • 相关阅读:
    解析3D打印切片软件:Cura
    步步为营,打造CQUI UI框架
    PHP为什么empty可以访问不存在的索引
    这是一篇关于魔法(Science)上网的教程
    【新阁教育】这样玩PLC,是不是有意思多了
    「新阁教育」西门子TIA实现BadApple完整实例
    C#数据结构-赫夫曼树
    C#数据结构-线索化二叉树
    SQL优化器-RBO与CBO分别是什么
    Linux下安装并配置VSCode(Visual Studio Code)
  • 原文地址:https://www.cnblogs.com/funkboy/p/13631534.html
Copyright © 2020-2023  润新知