lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
java8 合并两个 list<T>, 并将tickeId相同的所有属性合并到一个T中
list1中对象的属性:ticketId、ticketName
list2中对象的属性:ticketId、saleNum、batchAvailableNum
最总集合中对象的属性:ticketId、ticketName、saleNum、batchAvailableNum
 
将两个列表
用户订单信息userUnpayOrderInfoTempBos 用户账单信息 orderBillDetailDTOS   按order_uuid 合并成一个全信息的列表

 

 

  private List<UserUnpayOrderInfoTempBo> getOrderInfos(
      List<UserUnpayOrderInfoTempBo> userUnpayOrderInfoTempBos,
      List<OrderBillDetailDTO> orderBillDetailDTOS) {

    return userUnpayOrderInfoTempBos.stream()
        .map(
            userUnpayOrderInfoTempBo -> {
              orderBillDetailDTOS.stream()
                  .filter(
                      orderBillDetailDTO ->
                          Objects.equals(
                              userUnpayOrderInfoTempBo.getOrderUuid(),
                              orderBillDetailDTO.getOrderUuid()))
                  .forEach(
                      orderBillDetailDTO -> {
                        userUnpayOrderInfoTempBo.setOrderDetailDTO(
                            userUnpayOrderInfoTempBo.getOrderDetailDTO());
                        userUnpayOrderInfoTempBo.setOrderAssociatorDTO(
                            orderBillDetailDTO.getOrderAssociatorDTO());
                        userUnpayOrderInfoTempBo.setBillList(orderBillDetailDTO.getBillList());
                      });
              return userUnpayOrderInfoTempBo;
            })
        .collect(Collectors.toList());
  }

  

 

 

posted on 2022-06-28 10:32  白露~  阅读(1648)  评论(0编辑  收藏  举报