美文网首页
Stream常用操作

Stream常用操作

作者: 晚歌歌 | 来源:发表于2020-03-20 15:34 被阅读0次
//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(",", "(", ")")));

相关文章

网友评论

      本文标题:Stream常用操作

      本文链接:https://www.haomeiwen.com/subject/wnmjyhtx.html