Java8 如何移除两个相同的List对象
作者:Oliver 发布时间:2023-06-07 20:57:50
标签:Java8,移除,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());//新的不在原有里面的
来源:https://blog.csdn.net/weixin_44073321/article/details/106019381


猜你喜欢
- 以前编程的时候,遇到倒计时的功能时,经常自己去写,但其实Android已经帮封装好了一个倒计时类CountDownTimer,其实是将后台线
- 我们公司做了一款使用百度钱包的移动网页支付进行支付的产品,用户通过百度钱包、百度糯米扫描我们产品的二维码,选择商品,点击支付将会自动调用百度
- 概述Android开发过程中,经常遇到 Textview 展示不完全的情况。遇到此情况,通常的处理是:方案一 Textview 添加 and
- 开发人员可以用以下两种方式声明UI:一是通过.xml文件(不带预览界面)或者.axml文件(带预览界面)来描述;二是用C#代码实现。&nbs
- 在JAVA中通过synchronized语句可以实现多线程并发。使用同步代码块,JVM保证同一时间只有一个线程可以拥有某一对象的锁。锁机制实
- 在开发中经常使用到Set集合去重,那么去重的原理是怎样实现的呢?在此文章记录一下去重原理!!!下面是set集合类图下面我们来跟踪一下执行过程
- JsonTools.java package com.lihua.json.tools;import net.sf.json.JSONObj
- Android webview 从Lollipop(5.0)开始webview默认不允许混合模式,https当中不能加载http资源,需要设
- 第一种方法:string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(str
- ArrayList与Array的区别概述 ArrayList 是数
- 1. 首先新建一个shiroConfig shiro的配置类,代码如下:@Configurationpublic class SpringS
- 1. 偏向锁的核心原理轻量级锁在没有竞争时(就自己这个线程),每次重入仍然需要执行 CAS 操作。 Java 6 中引入了偏向锁来做进一步优
- 前言Unity在运行时可以将一些物体进行合并,从而用一个绘制调用来渲染他们。这一操作,我们称之为“批处理”,能得到越好的渲染性能。Unity
- 本文实例讲解了统计文本中某个字符串出现的次数或字符串中指定元素出现的次数方法,分享给大家供大家参考,具体内容如下运行效果图:程序查找的上此文
- 一、ProgressBar1. 常用类型1.1 不确定式圆形进度条style="@android:style/Widget.Hol
- 1.3扫描线种子填充算法1.1和1.2节介绍的两种种子填充算法的优点是非常简单,缺点是使用了递归算法,这不但需要大量栈空间来存储相邻的点,而
- Java 本身就自带 JS 引擎,自从 Java 1.6 开始就支持了,愈来愈好。我对 js 比较熟悉,因此有个大胆的想法,为什么不用自带
- 一、首先编写一个工具类Hello:public class Hello { public static void say(Str
- import java.util.ArrayList;import java.util.HashMap;import java.util.I
- 前言StringJoiner是Java里1.8新增的类,主要是帮助我们把一个列表拼接字符串, 或许有一部分人没有接触过. 所以本文将从使用例