美文网首页
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