//ListToMap
//这个方法会出现异常,键冲突或者值为NULL
Map<Integer, String> map = list.stream()
.collect(Collectors.toMap(Student::getId, Student::getName));
Map<Long, String> memberMap = list.stream().collect(HashMap::new, (m, v) ->
m.put(v.getId(), v.getName()), HashMap::putAll);
//按SKUID数量分组
Map<String, Long> consignGoodsMap = supplierConsignGoods.stream()
.collect(Collectors.groupingBy
(PmsConsignGoodsDO::getSkuId,Collectors.counting()));
//根据SupplierNo与SkuId分组,汇总数量
stock.stream()
.collect(Collectors.groupingBy(v -> v.getSupplierNo() + "_" + v.getSkuId()
, Collectors.counting())
/按SKU分组,汇总某个字段
Map<String, Long> purchaseGoodsMap = pmsPurchaseGoodsDOList.stream()
.collect(Collectors.groupingBy(PmsPurchaseGoodsDO::getSkuId,
Collectors.summingLong(PmsPurchaseGoodsDO::getDeliverableNum)));
//连接出可执行SQL条件:('1','2')
pmsPurchaseDOList.stream()
.map(v -> "'" + v.getPurchaseNo() + "'")
.collect(Collectors.joining(",", "(", ")")));
网友评论