美文网首页
分批处理 Stream

分批处理 Stream

作者: bigfish1129 | 来源:发表于2018-05-31 17:54 被阅读0次
  1. Lists.partition(billDetailDOList, 500);

  2. Stream to list

List<QueryDO> queries = PageResult
                    .getData()
                    .stream()
                    .map(s -> {
                        ueryDO query = new QueryDO();
                        query.setcode(s.getcode());
                        return query;
                    }).collect(Collectors.toList());
List<Long> IdList = PageResult.getData().stream()
                    .map(ds -> Long.parseLong(ds.getId())).collect(Collectors.toList());
  1. stream().forEach
Service.listByIds(queries).stream().forEach(element -> {
                    Map.put(element.getId() + ":" + element.getSId(), element);
                });
  1. Stream to map
Map<String, DO> GroupById = Service.listByIds(itemQueryDOs)
                .stream().collect(Collectors.toMap(g -> g.getId(), g -> g));
  1. 分组求和 summingInt
   Map<String, Integer> Map = list
            .stream()
            .filter(t -> t.getNum() != null && t.getNum() > 0) 
            // 按ID分组求和
            .collect(groupingBy(DO::getId,
                summingInt(DO::getNum)));
  1. 合并所有的商品子List
List<DetailDO> newItems = OrdersDOList.stream()
                    .flatMap(a -> a.getDetailDOs().stream()).collect(Collectors.toList());
  1. //计算每种商品的数量和
    Map<Long, Long> newItemsNumSum = new HashMap<>();
            if (CollectionUtils.isNotEmpty(newItems)) {
                newItemsNumSum = newItems
                        .stream()
                        .collect(
                                Collectors.groupingBy(DetailDO::getItemId,
                                        Collectors.summarizingLong(DetailDO::getNum))).entrySet()
                        .stream().map(entry -> ImmutablePair.of(entry.getKey(), entry.getValue().getSum()))
                        .collect(Collectors.toMap(Pair::getLeft, Pair::getRight));
            }

相关文章

网友评论

      本文标题:分批处理 Stream

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