欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-08-01 10:47:25|栏目:JAVA代码|点击:

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());//新的不在原有里面的

上一篇:Resttemplate中设置超时时长方式

栏    目:JAVA代码

下一篇:图解JVM垃圾内存回收算法

本文标题:Java8 如何移除两个相同的List对象

本文地址:http://www.codeinn.net/misctech/209520.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有