zoukankan      html  css  js  c++  java
  • lambda新特性,对两组集合中相同的数据去重

    集合一:
    List<ReplaceGoods> replaceGoodsList1=new ArrayList<>();
    ReplaceGoods ReplaceGood1=new ReplaceGoods();
    ReplaceGood1.setGoodsId(Long.valueOf(1111));
    replaceGoodsList1.add(ReplaceGood1);
    ReplaceGoods ReplaceGood2=new ReplaceGoods();
    ReplaceGood2.setGoodsId(Long.valueOf(2222));
    replaceGoodsList1.add(ReplaceGood2);



    集合二:
    List<ReplaceGoods> replaceGoodsList2=new ArrayList<>();
    ReplaceGoods ReplaceGood3=new ReplaceGoods();
    ReplaceGood3.setGoodsId(Long.valueOf(1111));
    replaceGoodsList2.add(ReplaceGood3);
    ReplaceGoods ReplaceGood4=new ReplaceGoods();
    ReplaceGood4.setGoodsId(Long.valueOf(3333));
    replaceGoodsList2.add(ReplaceGood4);



    //List去重 方法一
    for (ReplaceGoods aa:replaceGoodsList1) {
    replaceGoodsList2 = replaceGoodsList2.stream().distinct().collect(collectingAndThen(
    toCollection(() -> new TreeSet<>(Comparator.comparing(x->x.getGoodsId().equals(aa.getGoodsId())))), ArrayList::new));
    }
    System. out.print("去重后:");
    System. out.println(replaceGoodsList2);

    //List去重 方法二
    for (ReplaceGoods aa:replaceGoodsList1) {
    replaceGoodsList2.stream().forEach(s->{
    if(s.getGoodsId().equals(aa.getGoodsId()))
    replaceGoodsList1.remove(aa);
    });
    }
    System. out.print("去重后:");
    System. out.println(replaceGoodsList1);
  • 相关阅读:
    基于Ubuntu Jeos打造自己的精简版Linux服务器
    35 vs 53怎么裁
    父母在,不远游
    linux deepin是基于linux mint修改
    novell
    Sahi
    virtualbox on windows store vdi on ndfs due the file will bigger than 4gb
    在Linux下配置邮件系统
    CSS3 backgroundsize 属性
    dede:list及dede:arclist 按权重排序的方法
  • 原文地址:https://www.cnblogs.com/gemiaomiao/p/12119457.html
Copyright © 2011-2022 走看看