lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...
采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集
一般的javaList 交、并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的javaList对象,采用java8 lambda表达式流操作则可以不影响原始list对象而得到两个javaList对象的 交、并、差集。
具体代码如下:
import static java.util.stream.Collectors.toList;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list1 = new ArrayList();
list1.add("1111");
list1.add("2222");
list1.add("3333");
List list2 = new ArrayList();
list2.add("3333");
list2.add("4444");
list2.add("5555");
// 交集
List intersection = list1.stream().filter(item -> list2.contains(item)).collect(toList());
System.out.println("---得到交集 intersection---");
intersection.parallelStream().forEach(System.out :: println);
// 差集 (list1 - list2)
List reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(toList());
System.out.println("---得到差集 reduce1 (list1 - list2)---");
reduce1.parallelStream().forEach(System.out :: println);
// 差集 (list2 - list1)
List reduce2 = list2.stream().filter(item -> !list1.contains(item)).collect(toList());
System.out.println("---得到差集 reduce2 (list2 - list1)---");
reduce2.parallelStream().forEach(System.out :: println);
// 并集
List listAll = list1.parallelStream().collect(toList());
List listAll2 = list2.parallelStream().collect(toList());
listAll.addAll(listAll2);
System.out.println("---得到并集 listAll---");
listAll.parallelStream().forEach(System.out :: println);
// 去重并集
List listAllDistinct = listAll.stream().distinct().collect(toList());
System.out.println("---得到去重并集 listAllDistinct---");
listAllDistinct.parallelStream().forEach(System.out :: println);
System.out.println("---原来的List1---");
list1.parallelStream().forEach(System.out :: println);
System.out.println("---原来的List2---");
list2.parallelStream().forEach(System.out :: println);
// 一般有filter 操作时,不用并行流parallelStream ,如果用的话可能会导致线程安全问题
}
}
lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...相关推荐
- 采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集
采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...
- lambda 对象去重_最火的java8新特性:Lambda 表达式
主要内容 1. Lambda 表达式 2. 函数式接口 3. 方法引用与构造器引用 4. Stream API 5. 其他新特性 Java 8新特性简介 速度更快 代码更少(增加了新的语法 Lambd ...
- Java Stream 流常用方法 lambda 表达式实现交集、并集、差集、去重复并集等
一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的javaList对象,采用java8 lambda表达式流操作则可以不影响原始list对 ...
- python数据框去重_【Python】基于某些列删除数据框中的重复值
Python按照某些列去重,可用drop_duplicates函数轻松处理.本文致力用简洁的语言介绍该函数. 一.drop_duplicates函数介绍 drop_duplicates函数可以按某列去 ...
- java8 lambda maplist排序_「java8系列」流式编程Stream
前言 「Java8系列」神秘的Lambda 「Java8系列」神奇的函数式接口 继上两篇之后,本文已经java8系列的第三篇了.本篇文章比较长,但我希望大家都能认真读完.读不完可以先收藏,在找时间读. ...
- lambda 对象去重_lambda去重
lambda去重使用collectingAndThen方法 list 对象中,如果根据Object的单个属性进行过滤去重, 则: List userList = users.stream() .col ...
- python 去重_上来就情感分析?我还是先用python去去重吧!
大家好 下面我给大家讲讲:为什么用python情感分析之前应该先去重! 1.原理说明 1)为什么要进行数据的句内去重? 在做情感分析的时候,有时候需要对文本进行分词,做词频统计.上图是某个店铺的留言数 ...
- 数据去重复_字典应用实例(每行每列都要去重复值)
我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务.支持我,也为自己加油! 前面两节课中的去重复,不论是单张表里的去重复还是多张表里的去重 ...
- set列表对象去重_java中List对象列表去重或取出以及排序
面试碰到几次list的去重和排序.下面介绍一种做法: 1. list去重 1.1 实体类Student List容量10k以上,要求去重复.这里Student的重复标准是属性相同,因此需要重写equa ...
最新文章
- CoreAnimation编程指南(六)动画 转自:http://www.dreamingwish.com/
- 【Scratch】青少年蓝桥杯_每日一题_4.01_踢足球
- java quartz 跳过_Java Quartz计划作业-禁止同时执行作业
- 计算机统考测试,计算机统考专业测试题.doc
- JAVA入门级教学之(JAVA注释)
- figma应用——面向用户的咖啡点单APP的设计过程记录
- SpringMVC 单文件上传与多文件上传
- mysql longtext 查询_mysql,_mysql中longtext存在大量数据时,会导致查询很慢?,mysql - phpStudy...
- [转]c++中RTTI的观念和使用
- 7-39 龟兔赛跑 (20 分) 乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。T分钟后乌龟和兔子谁跑得快?PTA:中M2021春C、Java入门练习第I段—变量、表达式、分支、循环
- 计算机如何解锁 磁盘,怎么解除Dell电脑硬盘的bitlocker加密
- 历经300多年难得的那一刹那: 日全食
- Java多用户商城源码/单商户商城系统源码
- Google与k8s
- 什么是数据不平衡问题,应该如何解决
- 小白普及:云主机与传统服务器的区别
- 51单片机之DS18B20温度传感器实验
- java留言板_java实现留言板功能实例
- 【青梅快讯】Greenplum 最新版本6.20.3已正式发布
- [转]中国最大的Webshell后门箱子调查,所有公开大马全军覆没
热门文章
- 又是安卓玩剩下的功能!下代iPhone或可同时连两副耳机
- 深圳惊现“马云网络有限公司” 网友:你好 我是马云公司CEO
- 回调函数(CALLBACK)学习总结
- java平台无关性_为什么Java能够实现平台无关性?
- 再探正则表达式c++-html中搜索url
- ie和谷歌在java中空格兼容,谷歌和IE浏览器的兼容性问题,相同的html结构竟然在两个浏览器不一样...
- macosx 不允许无名信号量_个人对S12X的协处理器XGATE的信号量semaphore的理解
- centos6和centos7防火墙的关闭
- iap php,PHP语言之华为应用内支付IAP验签
- 【Flink】未解决 FLink 写 hive MemoryManager New Memory allocation smaller than the minimum allocation size