记录一些常用的stream

记录一些常用的stream:

//list转换成map,第一个参数是key,第二个参数是value,第三个参数是当key冲突的时候,首选v1的value
//此例为:将公司对象集合转换成{公司id:公司名称}的map
Map<Long, String> companyMap = companyList.stream().collect(Collectors.toMap(e -> e.getId(), e -> e.getName(), (v1, v2) -> v1));

//归约求和,reduce方法,第一个参数是起始值,
//第二个参数是 二元运算 可以将流中元素反复结合起来,得到一个值,返回
//此例为:合同对象集合,合同金额求和
BigDecimal estimateContractRebate = contractList.stream()
                .map(Contract::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);

//求出公司列表,然后按照创建时间倒序
List<Company> companyLast = companyService.list().stream().sorted(Comparator.comparing(Company::getCreateTime).reversed()).collect(Collectors.toList());

//返回任何一个匹配的元素
boolean present = list.stream().anyMatch(e -> !e.getId().equals(param.getId()));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值