java 合并两个List并去掉重复项
工作中很多时候需要用到合并两个List并去除其中的重复内容。
java8之前
在java8之前比较常规的做法是将两个List添加到一个Set中,因为Set的内容不可重复,所以会自动去重,然后再由Set转为List,代码如下:
Set set = new HashSet<>(listA);set.addAll(listB);List list = new ArrayList<>(set);System.out.println(list);
或者是通过list的removeAll()去重后再用addAll()合二为一,代码如下:
listA.removeAll(listB);listA.addAll(listB);
这样做后的list就是合并并去重后的结果。
java8之后
在java8出现以后,我们有了更方便高效的做法,就是通过Stream来帮我们完成这项操作,代码如下:
List collect = Stream.of(listA, listB).flatMap(Collection::stream).distinct().collect(Collectors.toList());
这样得到的结果也是最后我们想要的结果,可以很清楚的看出通过Stream完成的代码看上去更加简洁流畅。
温馨提示:如果要合并的是对象请注意重写equals和hashcode方法。
java 合并两个List并去掉重复项相关推荐
- Java合并两个List并去掉重复项的几种做法
一.前言 工作中很多时候需要用到合并两个List并去除其中的重复内容,这是一个很简单的操作,实现的方法也多种多样,请继续往下看 二.使用stream方式进行去重(需要jdk1.8及以上) String ...
- 合并两个List并去掉重复项
工作中很多时候需要用到合并两个List并去除其中的重复内容.这是一个很简单的操作,这里主要是记录一下通过用Stream来完成这项操作. 在java8之前比较常规的做法是将两个List添加到一个Set中 ...
- 合并两个链表,去掉重复元素
最近在学习机器学习的相关算法,写到DbScan算法发现在簇扩展时用到两个邻域中的点会重合,于是尝试了合并两个链表的两个算法. 最初用到这个方法,认为它简单易用.思路是定义一个链表存放合并后的链表lis ...
- JavaScript 怎么合并两个JSON,并覆盖重复键
如何合并两个JSON,并覆盖重复键 xxx={a:{a1:"a1"},b:{b1:{b11:1,b12:2}}}; yyy={b:{b1:{b11:4,b12:5}}}; 把 xx ...
- java 合并两个列表_如何在Java中合并两个列表?
java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...
- java using用法_如何使用java合并两个PPT。(How to merge two PPTs using java.)
如何使用java合并两个PPT.(How to merge two PPTs using java.) 问题描述 (Problem Description) 如何使用java合并两个PPT. 解决方案 ...
- 怎么在excel中对比两列数据并查找重复项
怎么在excel中对比两列数据并查找重复项 方法一: 方法二: 方法三: Excel查找2列相同的数据,并且返回对应列的另1列数据: IF函数语法格式: 方法一: =MATCH(A1,D$1:D95, ...
- c语言讲两个数组合并_两列数据相互去掉重复值后合并
大家好,今日继续讲VBA数组与字典解决方案的第27讲,内容是两列数据中相互去掉重复值之后将数据合并.这讲的内容利用到动态数组,固定数组,数组的合并,数组的转置等等. 还是先看实例,下面的工作表中A列和 ...
- java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
合并两个排序的整数数组A和B变成一个新的数组.新数组也要有序. 样例 1:输入: A=[1], B=[1]输出:[1,1]样例解释: 返回合并后的数组.样例 2:输入: A=[1,2,3,4], B= ...
最新文章
- 【转】【C#】C#重绘windows窗体标题栏和边框
- js在线压缩工具 支持Base62 encode 和 Shrink variables
- ai画面怎么调大小_怎么使用pr(adobe premiere)裁剪视频画面的大小
- python单例_Python单例模式
- Stanford 研究领域
- 泛函分析——有界线性算子和函数
- java压缩----使用ANT JDK压缩---解决中文问题
- 《C++ Primer 5th》笔记(5 / 19):语句
- Openresty Nginx 负载均衡
- Struts2学习(三)———— 输入校验和拦截器
- php 日志库,这可能是php世界中最好的日志库——monolog
- 小程序 获取小程序链接
- 8个国外开放的硕博论文、期刊、数据库下载网站-转
- Geant4安装步骤(最新的10.4版本)
- 阿里巴巴的业务范畴/文化和价值观
- 福岛第一核电站的辐射水平已明显下降
- Stratifyd入驻腾讯云市场,AI赋能品牌数字化升级
- 流媒体之老黄谈流媒体服务与视频网站研发
- 云计算运维工程师前景怎么样?
- 2. C++ Visual Studio中同一个项目包含多个有main函数的源文件怎么分别运行?
热门文章
- TP9343系列路由器TL-WR886N刷OpenWRT(明月大神编译)
- java 约瑟夫单循环_约瑟夫问题(Josephus问题)的递推O(n)解法、循环解法、单循环链表解法 | 学步园...
- 入坑就对了!如何用机器学习甄别真假美猴王?
- Apache Hive实战基础
- 网站排名SEO优化方案(2021最新)
- 硬实时系统的语言构造和转换----普渡大学
- Spring中,StringUtils的isEmpty方法已弃用
- 游戏人云集清华科幻季,齐呼吁打造受尊敬事业
- 我们都一样,不甘平凡又害怕努力
- 「近世代數概論」(Garrett Birkhoff,Saunders Mac Lane) 3.1.1 引理1