/**
* 根据收货公司名称和物料号进行合并 ,相加申请数量,得到结果集合使用Java8的流进行处理
*/
public static List<T> merge(List<T> vos) {
// key可以合并 通过k -> condition+condition
// key重复,需要将applyQty与o1进行合并的o2, 赋值给o1,最后返回o1
List<T> result = vos.stream()
.collect(Collectors.toMap(k-> k.getDeliveryCustomer() + k.getProductSku(), a -> a, (o1,o2)-> {
o1.setApplyQty(o1.getApplyQty() + o2.getApplyQty());
return o1;
})).values().stream().collect(Collectors.toList());
return result ;
}
Java8 stream流处理merge
最新推荐文章于 2024-04-29 13:45:57 发布