jdk8对list的各种处理实例详解,包括去重,排序,过滤,分组,统计

原创:优质通道,不点赞不给用!

https://blog.csdn.net/qq_33142257/article/details/62891612

 

//个别名字对应不上,故意的

if(null != list&& list.size() >= 1){
            //2,根据客户编号分组
            Map<String*//*客户编号*//*, Map<String*//*组合编号*//*, List<ImportVo>>> groupMap = list.stream().collect(Collectors.groupingBy(t -> t.getKehubianhao(), Collectors.groupingBy(t -> t.getZuhebianhao())));
            //取出按照客户编号分组后的数据
            for(Map.Entry<String, Map<String*//*组合编号*//*, List<ImportVo>>> investorIdMap : groupMap.entrySet()){
                //取出组合策略编号分组后的数据
                for(Map.Entry<String,List<ImportVo>> adviserNoMap : investorIdMap.getValue().entrySet()){
                    List<ImportVo> listGroup =  adviserNoMap.getValue();
                    //按照申请时间排序
                    List<ImportVo> sortList = listGroup.stream().sorted(Comparator.comparingInt(a -> Integer.parseInt(a.getApplyTime()))).collect(Collectors.toList());
//                    List<ImportVo> sortList = listGroup.stream().sorted((a, b) -> Integer.parseInt(a.getApplyTime()) - Integer.parseInt(b.getApplyTime())).collect(Collectors.toList());
                    //过滤申请时间小于首次出现是否全赎为1的时间
                    List<ImportVo> filterList = sortList.stream().filter(t -> Integer.parseInt(t.getIsAllRedeem()) != 1).collect(Collectors.toList());
                    String isAllRedeemApplyTime = "";
                    if(null != filterList && filterList.size() >= 1){
                        isAllRedeemApplyTime = filterList.get(0).getApplyTime();

                    }
                }
            }
            //3,根据日期排列大小
            //4,查询是否有条件为全赎的数据
            //5,如果没有,则正常修改
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值