CollectionUtils工具类之并集union(arr1,arr2)和差集subtract(arr1,arr2)
一、CollectionUtils工具类之并集union(arr1,arr2)和差集subtract(arr1,arr2)
采用的类:
import org.apache.commons.collections4.CollectionUtils;
①并集union(arr1,arr2)
这是将两个集合加在一起,然后去重
List<Integer> orderList1 = Arrays.asList(1, 2, 3); List<Integer> orderList2 = Arrays.asList(3, 4, 5); List<Integer> union = new ArrayList<>(CollectionUtils.union(orderList1, orderList2)); // 1,2,3,4,5
System.out.println("union = " + union);
②差集subtract(arr1,arr2)
这是将两个集合的差,如1,2,3 差集3,4,5就会得到1,2,将3这个重复的去掉
List<Integer> orderList1 = Arrays.asList(1, 2, 3); List<Integer> orderList2 = Arrays.asList(3, 4, 5); List<Integer> subtract = new ArrayList<>(CollectionUtils.subtract (orderList1, orderList2)); // 1,2
System.out.println("subtract = " + subtract );
③遇到的问题
返回值是父级的Collection<O>,这样的话如果只想做合并去重的话就会导致类型不一致,而照成麻烦
List<Integer> orderList1 = Arrays.asList(1, 2, 3); List<Integer> orderList2 = Arrays.asList(3, 4, 5);
Collection<Integer> union = CollectionUtils.union(orderList1, orderList2);
// 1,2,3,4,5
System.out.println("union = " + union);
如需要转换为对应的类型,如上转回List<Integer>可以有几种方案
方案1
List<Integer> union = new ArrayList<>(CollectionUtils.union(orderList1, orderList2));
方案2
// 这个会警告,我们这里是加了一个.distinct()做过度
List<Integer> union1 = CollectionUtils.union(orderList1, orderList2).stream().collect(Collectors.toList());
CollectionUtils工具类之并集union(arr1,arr2)和差集subtract(arr1,arr2)的更多相关文章
- java代码之美(12)---CollectionUtils工具类
java代码之美(12)---CollectionUtils工具类 这篇讲的CollectionUtils工具类是在apache下的, 而不是springframework下的CollectionUt ...
- CollectionUtils工具类
CollectionUtils工具类 这篇讲的CollectionUtils工具类是在apache下的,可以使代码更加简洁和安全. 使用前需导入依赖 <dependency> <gr ...
- java代码(12) ---CollectionUtils工具类
CollectionUtils工具类 CollectionUtils工具类是在apache下的,而不是springframework下的CollectionUtils 个人觉得在真实项目中Collec ...
- StringUtils、CollectionUtils工具类的常用方法
唯能极于情,故能极于剑 欢迎来到 “程序牛CodeCow” 的博客,有问题请及时关注小编公众号 “CodeCow”,大家一起学习交流 下面将为大家演示StringUtils.CollectionUti ...
- 通过CollectionUtils工具类判断集合是否为空,通过StringUtils工具类判断字符串是否为空
通过CollectionUtils工具类判断集合是否为空 先引入CollectionUtils工具类: import org.apache.commons.collections4.Collectio ...
- CollectionUtils工具类的常用方法
集合判断: 例1: 判断集合是否为空: CollectionUtils.isEmpty(null): true CollectionUtils.isEmpty(new ArrayList()): t ...
- CollectionUtils工具类中常用方法
@SuppressWarnings("rawtypes") @Test public void test1() { List<String> coll = new Ar ...
- CollectionUtils工具类使用指南
CollectionUtils提供很多对集合的操作方法,常用的方法如下:(参考文章:http://www.open-open.com/code/view/1420470842125) import o ...
- 集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils的使用
主要用它的isEmpty(final Collection<?> coll)静态方法来判断一个给定的集合是否为null或者是否长度为0.最近才发现此工具类还可以取集合的交集.并集.甚至差集 ...
随机推荐
- C#基础之Foreach
下面是Foreach的介绍. 如何让一个类可以用Foreach来遍历呢. 结论:让这个类实现IEnumerable接口. 这个类有一个public的GetEnumerator的实例方法,并且返回类型中 ...
- Oracle数据库的一些常用命令
转至:https://blog.csdn.net/qq_36843413/article/details/81409152?utm_medium=distribute.pc_relevant_t0.n ...
- 自动启动WebLogic系统的服务脚本
转至:http://blog.chinaunix.net/uid-20164485-id-1973841.html 自动启动WebLogic系统的服务脚本 2010.10.25 TsengYia# ...
- JZ-064-滑动窗口的最大值
滑动窗口的最大值 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值 ...
- 使用 MobaXterm 连接矩池云 GPU服务器
Host Name(主机名):hz.matpool.com 或 hz-t2.matpool.com,请以您 SSH 中给定的域名为准. Port(端口号):矩池云租用记录里 SSH 链接里冒号后的几位 ...
- think php jq ajax删除
表单展示页面 <!doctype html> <html lang="en"> <head> <meta charset="UT ...
- 微信小程序授权登录将open_id传至后台并入库
要求能把用户昵称.头像以及open_id写入数据库,服务端保持用户登录状态 wxml: <block wx:else> <button type="primary" ...
- django主要文件介绍及django请求生命流程图
-mysite文件夹 --mysite文件夹 --setting.py 配置文件 --urls.py 路由和视图函数对应关系(路由层) --wsgi.py wsgiref模块 --manage.py ...
- 【elasticsearch】搜索过程详解
elasticsearch 搜索过程详解 本文基于elasticsearch8.1.在es搜索中,经常会使用索引+星号,采用时间戳来进行搜索,比如aaaa-*在es中是怎么处理这类请求的呢?是对匹配的 ...
- rancher接管已部署的集群
1.选择一台服务器部署rancher服务 docker pull rancher/rancher:v2.5.6 #拉取rancher镜像 docker run --privileged -d -v / ...