stream

public static void main(String[] args) {
        List<GoodsInfor> list = new ArrayList<>();
        List<GoodsInfor> list2 = new ArrayList<>();
        GoodsInfor p = new GoodsInfor();
        p.setGoodsId(1);
        p.setEachGoodsFare(1D);

        GoodsInfor p2 = new GoodsInfor();
        p2.setGoodsId(2);
        p2.setEachGoodsFare(2D);

        GoodsInfor p3 = new GoodsInfor();
        p3.setGoodsId(3);
        p3.setEachGoodsFare(3D);

        list.add(p);
        list.add(p2);
        list.add(p3);

        GoodsInfor p4 = new GoodsInfor();
        p4.setGoodsId(1);
        p4.setEachGoodsFare(0D);

        GoodsInfor p5 = new GoodsInfor();

        p5.setGoodsId(2);
        p5.setEachGoodsFare(0D);

        GoodsInfor p6 = new GoodsInfor();
        p6.setGoodsId(3);
        p6.setEachGoodsFare(0D);
        GoodsInfor p7 = new GoodsInfor();
        p7.setGoodsId(4);
        p7.setEachGoodsFare(0D);

        list2.add(p4);
        list2.add(p5);
        list2.add(p6);
        list2.add(p7);
//        list2.stream().flatMap(x -> list.stream()
//                .map(y -> {x.setEachGoodsFare(y.getEachGoodsFare());
//                        return x;
//                })
//        ).collect(Collectors.toList()).forEach(m->System.out.println(m));

        list2.stream().filter((x) -> list.stream().anyMatch((y)->
               {
                    if (x.getGoodsId() == y.getGoodsId()) {
                        x.setEachGoodsFare(y.getEachGoodsFare());
                        return true;
                    }
                   return false;
                })
        ).collect(Collectors.toList()).forEach(System.out::println);

    }

 

posted @ 2020-07-06 15:23  暗渡陈仓xy  阅读(238)  评论(0编辑  收藏  举报