lamda 表达式的一些运用

1.list中筛选某个属性最大值的对象 

返回teamid最大的那个对象

Optional<VirtualFleetSettlement > maxTeamId= allAwarList.stream().filter(Objects::nonNull).filter(item -> item.getTeamId() != null).max(Comparator.comparingInt(VirtualFleetSettlement ::getTeamId));
VirtualFleetSettlement maxEmp = maxTeamId.orElse(new VirtualFleetSettlement());

2.list按某个属性进行分类

按captain分类

captainDetailDtos=allDetailDtos.stream().filter(j -> j.getCaptain().equals(0))
          .collect(
              Collectors.toList());
      //队员奖励
      notcaptainDetailDtos= allDetailDtos.stream().filter(j -> j.getCaptain().equals(1))
              .collect(
                  Collectors.toList());

3.查询list是否包含某个对象 

 WxMenuDto p = wxMenuDtos
          .stream()
          .filter(wxMenuDto -> wxMenuDto.getId().equals(id)).findFirst()
          .orElse(null);     //orElse 是为了防止空指针,get()会报空指针

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值