使用 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}
分享到:
相关推荐
尚硅谷Java开发利器:IntelliJ IDEA的安装、配置与使用
无线蹭网最新利器:Beini v1.2.11.iso,naiping yingyong
Spring Boot快速开发利器:Spring Boot CLISpring Boot快速开发利器:Spring Boot CLISpring Boot快速开发利器:Spring Boot CLISpring Boot快速开发利器:Spring Boot CLI
AOP 的利器:ASM 3_0 介绍,很好的书
编程利器:ChatGPT实战指南.pdf
Javascript的调试利器:Firebug使用详解
高性能的Web开发利器:深入探索Golang Echo框架
轻巧远程利器:AnyDesk v1.3 BetaAnyDesk,流畅远程控制软件,操作简单实用,而且挺容易上手。
提速利器:RFID技术应用于物流配送.pdf
通达信指标公式源码 波段操盘利器:短线必赢.doc
通达信指标公式源码短线利器:力量压 副图源码.doc
delphi 开发网页利器:DeWeb,可以直接将Delphi程序快速转换为网页应用的工具!使用DeWeb, 开发者不需要学习HTML、JavaScript、Java、PHP、ASP、C#等新知识,用Delphi搞定一切。DeWeb开发的网页支持所有客户端,包括...
_基于Docker的Django开发利器:一套高效的基于Docker的Django_3.2开发和部_DjangoOnDocker
一站式开发利器:Java 8 & Postman 集成套装 为加速软件开发与测试流程,特别推出集成套装,包含JDK 8 Update 131(64位)、Postman JAR文件及Postman 7.36.0 Windows 64位安装包。此套装旨在优化工作环境,实现从...
【保姆级IDF】ESP32调试利器:xtensa-esp32-elf-addr2line介绍、安装、使用
05. 一分钟教你社工利器:制作社会工程学字典-飞哥原创.docx,word版本,有详细截图步骤。
【标题】"学习利器:手机端C语言编程软件"揭示了本文的核心内容——在移动设备上进行C语言编程的学习工具。对于那些希望提升C语言技能,或是想利用碎片时间进行编程练习的人来说,这类软件提供了极大的便利性。它...
《Linux文件下载利器:Downloader For X》是一款专为Linux操作系统设计的高效下载工具,它运行在X-Win d ow窗口环境下,支持断点续传和多线程下载,类似于Windows下的网络蚂蚁。Downloader For X不仅支持HTTP和FTP...