开门第一篇(java8流式处理)

//根据LeWarehouseCode字段进行分组
//        Map<String, List<SodRecExt2>> map = list.stream().collect(
//           Collectors.groupingBy(
//                      SodRecExt2::getLeWarehouseCode
//           ));

//        Map<String, Map<String, List<SodRecExt2>>> prodMap= list.stream().collect(Collectors.groupingBy(SodRecExt2::
//                                                   getLeWarehouseCode, Collectors.groupingBy(item -> {
//            if(!item.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.YC030C.getCode()) && item.getIfSubOrder()
//                    .equals("1")) {
//                return "splitPreSale";
//            }else {
//                return "noSplitPreSale";
//            }
//        })));

Map<String, Map<String, Map<String, List<SodRecExt2>>>> prodMap= list.stream().collect(Collectors.groupingBy(SodRecExt2:: getLeWarehouseCode, Collectors.groupingBy(itemWarehouse -> { if(!itemWarehouse.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.YC030C.getCode()) && itemWarehouse.getIfSubOrder() .equals("1")) { return "splitPreSale"; }else { return "noSplitPreSale"; } },Collectors.groupingBy(itemRz285345 -> { if(!itemRz285345.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.RZ285345.getCode()) && itemRz285345.getLeDecideLogistics() .equals("1")) { return "decideLogistics1"; } else { return "decideLogistics0"; } }))));
// private static String fetchGroupKey(SodRecExt2 sodRecExt2){ // String fetchGroupKey=""; // if (sodRecExt2.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.RZ285345.getCode())){ // fetchGroupKey = sodRecExt2.getLeWarehouseCode()+'-'+sodRecExt2.getIfSubOrder(); // } else { // // } // return sodRecExt2.getLeWarehouseCode()+'-'+sodRecExt2.getIfSubOrder(); // } //从list集合中,取出按sku设置库存的集合 Map<String, List<BuyGiftGradeLe>> buyGiftMap= buyGiftGradeLes.stream().collect(Collectors.groupingBy( buyGiftGradeLe -> { if(buyGiftGradeLe.getBuyLeId() !=null) { return "giftBySku"; }else { return "other"; } })); LinkedHashMap<Long, BigDecimal> linkedMap = new LinkedHashMap<>(); //将HashMap转换成LinkedHashMap map.entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) .forEachOrdered(entry -> linkedMap.put(entry.getKey(), entry.getValue())); List<BigDecimal> collect = linkedMap.values().stream().collect(Collectors.toList());


 

posted @ 2021-03-01 11:45  摸鱼小能手  阅读(40)  评论(0)    收藏  举报