使用 CollectionUtils 中四个方法之一执行集合操作.这四种分别是 union(),intersection();disjunction(); subtract();
下列例子就是演示了如何使用上述四个方法处理两个 Collection;
注: 这些方法都是数学的集合算法
- import java.util.Arrays;
- import java.util.Collection;
- import java.util.Collections;
- import java.util.List;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.commons.lang.ArrayUtils;
- public class CollectionUtilsIntro {
- @SuppressWarnings("unchecked")
- public static void main(String[] args) {
- String[] arrayA = new String[] { "1", "2", "3", "3", "4", "5" };
- String[] arrayB = new String[] { "3", "4", "4", "5", "6", "7" };
- List<String> a = Arrays.asList(arrayA);
- List<String> b = Arrays.asList(arrayB);
- //并集
- Collection<String> union = CollectionUtils.union(a, b);
- //交集
- Collection<String> intersection = CollectionUtils.intersection(a, b);
- //交集的补集
- Collection<String> disjunction = CollectionUtils.disjunction(a, b);
- //集合相减
- Collection<String> subtract = CollectionUtils.subtract(a, b);
- Collections.sort((List<String>) union);
- Collections.sort((List<String>) intersection);
- Collections.sort((List<String>) disjunction);
- Collections.sort((List<String>) subtract);
- System.out.println("A: " + ArrayUtils.toString(a.toArray()));
- System.out.println("B: " + ArrayUtils.toString(b.toArray()));
- System.out.println("--------------------------------------------");
- System.out.println("Union(A, B): " + ArrayUtils.toString(union.toArray()));
- System.out.println("Intersection(A, B): " + ArrayUtils.toString(intersection.toArray()));
- System.out.println("Disjunction(A, B): " + ArrayUtils.toString(disjunction.toArray()));
- System.out.println("Subtract(A, B): " + ArrayUtils.toString(subtract.toArray()));
- }
- }
输出如下:
A: {1,2,3,3,4,5}
B: {3,4,4,5,6,7}
--------------------------------------------
Union(A, B): {1,2,3,3,4,4,5,6,7}
Intersection(A, B): {3,4,5}
Disjunction(A, B): {1,2,3,4,6,7}
Subtract(A, B): {1,2,3}
--------------------------------------------------------------------------------------
fengfly.com 补充此工具类一个常用的方法,集合的比较方法,可以实现两个集合间的比较,如List<String>,List<Integer>:
org.apache.commons.collections.CollectionUtils.isEqualCollection(final Collection a, final Collection b)
相关推荐
项目管理利器——maven,技术开发学习类稳定档案顶顶顶顶
普通人的编辑利器——VIM_(for_windows)
开放式工业控制系统的软件开发技术—— CODESYS V3 基础编程指南, CoDeSys 是德国3S 公司的PLC 编程软件,全球有近350 家知名的自动化产品和方案供应商是3S 公司的合作伙伴,这其中较著名 的有ABB 的Control ...
### PLC综合开发利器——CoDeSys基础编程及应用指南 #### IEC61131-3标准 ##### IEC61131简介 IEC61131是国际电工委员会制定的一系列用于工业控制系统编程的标准。该标准旨在为工业自动化领域的编程提供统一的框架...
FTP利器——FileZilla,FileZilla_3.13.1_win64-setup.exe
《Java开发利器——Hibernate 开发及整合应用大全》一书源代码第一部分,共4部分。分享有给需要的朋友!
吃鸡好利器——游戏路由器导购.pdf
Java开发利器——Hibernate 开发及整合应用大全.zip.004
迁移数据上云的利器——Amazon Snowball
介绍未名学术搜索的一款PPT,作者是北京大学丁艳君,日期为20151023。
第20章 MySQL管理利器——MySQL Utilities 共5页.pptx 第21章 读写分离的利器——MySQL Proxy 共5页.pptx 第22章 PHP操作MySQL数据库 共7页.pptx 第23章 新闻发布系统数据库设计 共6页.pptx 第24章 论坛管理系统...
《Java开发利器——Hibernate 开发及整合应用大全》光盘第三部分.zip.003
在"深度学习利器——Tensorflow程序设计"中,我们将探讨以下几个关键知识点: 1. **TensorFlow基础知识**:TensorFlow的核心概念是张量(Tensor),它是多维数组,可以表示各种类型的数据。张量之间通过计算图进行...
第20章 MySQL管理利器——MySQL Utilities 共5页.pptx 第21章 读写分离的利器——MySQL Proxy 共5页.pptx 第22章 PHP操作MySQL数据库 共7页.pptx 第23章 新闻发布系统数据库设计 共6页.pptx 第24章 论坛管理系统...
《Java开发利器——Hibernate 开发及整合应用大全》一书光盘,由于大小问题,共分4部分上传。现在是第二部分。
迁移数据上云的利器——AWS Database Migrat。。。。。。
克服功耗挑战的利器——美国国家半导体PowerWise产品.pdf
用于完成各类资源的格式间转换,包括视频,图像,声音
出差旅游必备利器——3G无线路由器TL-WR703N.pdf