Lambda groupingBy、toSet、toList使用示例
import static java.util.stream.Collectors.groupingBy; import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; public void test1(){ Map<String, List<BillUpStreamExcelVo>> upsMap = ups.stream().collect(groupingBy(BillUpStreamExcelVo::getDeliverBillCode)); Set<String> downCodes = downstream.stream().map(BillDownstream::getSourceCode).collect(toSet()); Set<String> upCodes = upstream.stream().map(BillUpstream::getLongBillCode).collect(toSet()); List<BillUpStreamExcelVo> ups = ups.stream().filter(d -> StringUtils.isNotBlank(d.getExceptionMessage())).collect(toList()); List<BillDownStreamExcelVo> downs = downs.stream().filter(d -> StringUtils.isNotBlank(d.getExceptionMessage())).collect(toList()) // 总成本 BigDecimal downMoney = downs.stream().map(d -> d.getSupplyTransportMoney()).filter(d -> !ObjectUtils.isEmpty(d)).reduce(BigDecimal.ZERO, BigDecimal::add); }