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# Parallel】ParallelOptions
ParallelOptions 构造函数 此构造函数用默认值初始化实例. MaxDegreeOfParallelism 初始化为-1,表示没有对应采用的并行度进行上限设置. CancellationT ...
- 【C#】AssemblyLoadContext 加载程序集
使用 .NET Core 3.0 的 AssemblyLoadContext 实现插件热加载 一般情况下,一个 .NET 程序集加载到程序中以后,它的类型信息以及原生代码等数据会一直保留在内存中,.N ...
- 【2021新】C#数字格式化字符串
引用来源: https://www.cnblogs.com/flyingbread/archive/2007/01/18/620287.html https://www.cnblogs.com/117 ...
- xls/csv文件转换成dbf文件
转至:https://blog.csdn.net/linhai1028/article/details/80211252 编写的一个小脚本,主要是利用python中的pandas,xlrd,dbfpy ...
- Python:在cmd中使用pip安装第三方库时出现SyntaxError
原因:pip安装库时不需要进入Python环境,在Python环境下安装就会出现SyntaxError 解决方法:输入exit(),退出Python环境,然后就可以pip安装了
- adb常用命令大全——查看手机设备信息
查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery 其中 scale 代表最大电量,level 代表当 ...
- 5分钟学会 gRPC
介绍 我猜测大部分长期使用 Java 的开发者应该较少会接触 gRPC,毕竟在 Java 圈子里大部分使用的还是 Dubbo/SpringClound 这两类服务框架. 我也是近段时间有机会从零开始重 ...
- 【战略】以色列公司的数据驱动tip
Eric Rapps:我们的团队获得了大量的收入,并且持续保持着增长.如果获得我们的投资,实际上是你是获得了和相关领域技术积累.专家沟通的支持.但更重要的是,你可以近距离地接触我们的运营资源,您可以直 ...
- itertools.chain()and itertools.product()操作+pandas.DataFrame.transform
- [动态规划] 适合DJ银行的日子
[动态规划] 适合DJ银行的日子 前言:开始的时候用常规模拟做的超时了,然后看官方题解,大致意思就是连续n天单调可以用动态规划的思想 你和一群强盗准备打劫银行.给你一个下标从 0 开始的整数数组 se ...