使用 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
粒子物理模拟利器:Geant4蒙特卡罗模拟软件”。,粒子物理模拟利器:Geant4蒙特卡罗模拟软件”。,蒙特卡罗模拟软件-geant4 Geant4是一种基于蒙特卡罗方法的全面粒子输运模拟工具,用于模拟粒子和辐射与物质的相互作用...
AOP 的利器:ASM 3_0 介绍,很好的书
编程利器:ChatGPT实战指南.pdf
Javascript的调试利器:Firebug使用详解
轻巧远程利器:AnyDesk v1.3 BetaAnyDesk,流畅远程控制软件,操作简单实用,而且挺容易上手。
提速利器:RFID技术应用于物流配送.pdf
LabView Modbus-TCP与西门子PLC通讯利器:全面兼容数据类型,高效稳定,跨品牌扩展,上下位机源码全支持,助力工程师省时开发,Labview Modbus-Tcp和西门子全糸列pLC通讯所有数据类型均能读写,速度快,使用在多个...
通达信指标公式源码 波段操盘利器:短线必赢.doc
通达信指标公式源码短线利器:力量压 副图源码.doc
在日常的工作和学习中,你...该文档【学术研究利器:用DeepSeekAPI实现文献综述自动化】共计 30 页,文档内容完整、条理清晰。文档内所有文字、图表、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。
MATLAB SIMULINK模型测试利器:自动化测试工具、自动生成报告,环MIL测试能力展示,纯软件编写易操作参考截图,MATLAB SIMULINK模型在环MIL测试工具,自动化模型测试工具,自动生成测试报告。 软件纯自己编写,经过长...
在日常的工作和学习中,...该文档【影视行业剧本评估利器:DeepSeek情感分析模型调优手册】共计 32 页,文档内容完整、条理清晰。文档内所有文字、图表、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。
该文档【算法竞赛利器:DeepSeek时间复杂度分析与LeetCode解题优化】共计 22 页,文档内容完整、条理清晰。文档内所有文字、图表、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。
delphi 开发网页利器:DeWeb,可以直接将Delphi程序快速转换为网页应用的工具!使用DeWeb, 开发者不需要学习HTML、JavaScript、Java、PHP、ASP、C#等新知识,用Delphi搞定一切。DeWeb开发的网页支持所有客户端,包括...
该文档【快消行业营销利器:DeepSeek批量生成爆款文案的Prompt工程详解】共计 26 页,文档内容完整、条理清晰。文档内所有文字、图表、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。