信息发布→ 登录 注册 退出

Java8 如何移除两个相同的List对象

发布时间:2026-01-11

点击量:
目录
  • Java8 移除两个相同List对象
    • 如果多个条件
  • 筛选出List不被另一个List包含的元素

    Java8 移除两个相同List对象

    List<Data> data1 = new ArrayList<>();
    data1.add(new Data(7, 15));
    data1.add(new Data(2, 17));
    data1.add(new Data(2, 17));
    
    List<Data> data2 = new ArrayList<>();
    data2.add(new Data(1, 11));
    data2.add(new Data(10, 9));
    data2.add(new Data(10, 9));
    data2.add(new Data(7, 15));
    data2.add(new Data(2, 17));
    data2.add(new Data(2, 17));
    
    List<Data> result = data2.stream()
            .filter(d1 ->
                    data1.stream()
                        .noneMatch(d2 -> Objects.equals(d1.getId(), d2.getId()))
            ).collect(Collectors.toList());
    System.out.println(result);
    

    结果:

    如果多个条件

    .noneMatch(d2 -> Objects.equals(d1.getId(), d2.getId()) && Objects.equals(d1.getId(), d2.getId()))
    

    筛选出List不被另一个List包含的元素

    List<String> delTagGroup = new ArrayList<>();//需要删除的
           List<String> originGroupId = qwTagGroupEntityList.stream().map(QwTagGroupEntity::getGroupId).collect(Collectors.toList());//原有的
           List<String> newGroupId = corpTagList.getTag_group().stream().map(CorpTagList.TagGroupBean::getGroup_id).collect(Collectors.toList());//新的
           delTagGroup = originGroupId.stream().filter(o->!newGroupId.contains(o)).collect(Collectors.toList());//新的不在原有里面的

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!