今天项目中有个查询库存操作,调用同事接口返回的结果转成map后键有重复,然后就研究了一下
stream转map后如何控制合并, 查看Collectors.toMap()后发现里面有一个mergeFunction,

然后我就做了如下的操作,记录一下
List<AdvanceStockOutDistributionDetailVO> list = Optional.ofNullable(result.getModels()).orElse(new ArrayList<>());
list.stream().collect(Collectors.toMap(AdvanceStockOutDistributionDetailVO::getProductId, AdvanceStockOutDistributionDetailVO::getDeliveryStockQuantity, (deliveryStockQuantity, oldDeliveryStockQuantity) -> {
oldDeliveryStockQuantity = deliveryStockQuantity.add(oldDeliveryStockQuantity);
return oldDeliveryStockQuantity;
}));
最后需要返回第二个参数,大功告成!
项目查询库存操作中,调用同事接口返回结果转成map后键有重复,博主研究了Java8 Stream转map后如何控制合并。查看Collectors.toMap()发现其中有mergeFunction,博主进行操作并记录,最终需返回第二个参数完成任务。
3177

被折叠的 条评论
为什么被折叠?



