java stream 简单使用

stream 进行内存分页

int pageSize=templateCompanyListRequest.getPageSize();
int pageNum=templateCompanyListRequest.getPageNum();
int skipNum = pageSize*(pageNum - 1);
List<CompanyBaseInfo> companyTaxList2 = list.stream().skip(skipNum).limit(pageSize).collect(Collectors.toList());

stream 处理null字段的排序

null排在前,进行倒序排序

taxDraftTemplateDTOS = taxDraftTemplateDTOS.stream().sorted(Comparator.comparing(TaxDraftTemplateDTO::getGmtModify,Comparator.nullsFirst(Date::compareTo)).thenComparing(TaxDraftTemplateDTO::getGmtCreate).reversed()).collect(Collectors.toList());

null排在后,进行倒序排序

taxDraftTemplateDTOS = taxDraftTemplateDTOS.stream().sorted(Comparator.comparing(TaxDraftTemplateDTO::getGmtModify,Comparator.nullsLast(Date::compareTo)).thenComparing(TaxDraftTemplateDTO::getGmtCreate).reversed()).collect(Collectors.toList());

stream 过滤出不存在另一个list里面的数据

     public static void main(String[] args) {
        List<VatTypeDTO> vatTypeDTOS = new ArrayList<>();
        for (int i = 1; i <=5; i++) {
            VatTypeDTO vatTypeDTO = new VatTypeDTO();
            vatTypeDTO.setVatCode(String.valueOf(i));
            vatTypeDTO.setVatName("税种"+i);
            vatTypeDTOS.add(vatTypeDTO);
        }

        List<VatTypeDTO> list = new ArrayList<>();
        VatTypeDTO vatTypeDTO1 = new VatTypeDTO();
        vatTypeDTO1.setVatCode("1");
        vatTypeDTO1.setVatName("11");
        VatTypeDTO vatTypeDTO2 = new VatTypeDTO();
        vatTypeDTO2.setVatCode("3");
        vatTypeDTO2.setVatName("33");
        list.add(vatTypeDTO1);
        list.add(vatTypeDTO2);

        vatTypeDTOS = vatTypeDTOS.stream().filter(e -> !((list.stream().map(VatTypeDTO::getVatCode)).collect(Collectors.toList())).contains(e.getVatCode())).collect(Collectors.toList());
        System.out.println(vatTypeDTOS);
    } 

stream 过滤出存在另一个list里面的数据

vatTypeDTOS = vatTypeDTOS.stream().filter(e -> ((list.stream().map(VatTypeDTO::getVatCode)).collect(Collectors.toList())).contains(e.getVatCode())).collect(Collectors.toList());

stream 删除Map中值为空的数据

filterConditionMap.entrySet().removeIf(entry -> entry.getValue() == null);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值