java8关于list的操作(::)

 

Product p1 = Product.builder()
                .id("1")
                .name("蒙牛")
                .price("12")
                .build();

        Product p2 = Product.builder()
                .id("2")
                .name("伊利")
                .price("12")
                .build();

        Product p3 = Product.builder()
                .id("1")
                .name("蒙牛")
                .price("13")
                .build();
        List<Product> list = Lists.newArrayList();
        list.add(p1);
        list.add(p2);
        list.add(p3);

        Map<String, List<Product>> map = list.stream().filter(product -> {
            return Objects.nonNull(product.getId());
        }).collect(Collectors.groupingBy(Product::getId));

        System.out.println(map);// {1=[Product(id=1, name=蒙牛, price=12), Product(id=1, name=蒙牛, price=13)], 2=[Product(id=2, name=伊利, price=12)]}

 

posted @ 2020-07-08 17:07  习惯沉淀  阅读(1008)  评论(0编辑  收藏  举报