JAVA集合操作的利器:CollectionUtils
使用 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()));
}
}
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的安装、配置与使用
Java程序员开发利器_IDEA_2020升级体验,配合Java14真香__Java软件视频教程
本文将详细介绍JD-GUI-0.3.3.windows,这是一个专为Windows平台设计的Java反编译利器。 JD-GUI是一款图形用户界面工具,它允许开发者直接打开并查看Java字节码的源代码表示。与DJ.Java_Decompiler和JAD相比,JD-GUI...
jjmpeg 是一个 java 绑定到 ffmpeg 的非常便利的解码和编码库。jjmpeg 具有很高的执行效率,可以运行在不同的平台,而且控制起来也很简单。除了具有 FFmpeg 接口的面向对象的特征之外,jjmpeg 还具有一些较高层次的...
在现代Java应用开发中,多线程并发编程已成为提升程序性能的关键技术之一。Java通过引入Executor框架,为并发任务的执行提供了一种高效、灵活的管理机制。本文将深入探讨Executor框架的设计哲学、核心组件,并结合...
无线蹭网最新利器:Beini v1.2.11.iso,naiping yingyong
最新版2.1安卓反编译利器:dex2jar。dex2jar 作用:将apk反编译成java源代码(classes.dex转化成jar文件),最新版2.1版本。原来的旧版很多已经不能反编译了,新版的可以。
Spring Boot快速开发利器:Spring Boot CLISpring Boot快速开发利器:Spring Boot CLISpring Boot快速开发利器:Spring Boot CLISpring Boot快速开发利器:Spring Boot CLI
不适合普通初学者!对于天赋很好的才有用!
一站式开发利器:Java 8 & Postman 集成套装 为加速软件开发与测试流程,特别推出集成套装,包含JDK 8 Update 131(64位)、Postman JAR文件及Postman 7.36.0 Windows 64位安装包。此套装旨在优化工作环境,实现从...
AOP 的利器:ASM 3_0 介绍,很好的书
编程利器:ChatGPT实战指南.pdf
Javascript的调试利器:Firebug使用详解
在Java应用性能优化的过程中,JProfiler扮演着至关重要的角色。它是一个强大的Java虚拟机(JVM)分析工具,能够帮助开发者监控和分析应用程序的性能。本文将详细介绍JProfiler的主要功能、如何在Spring Boot中配置...
高性能的Web开发利器:深入探索Golang Echo框架
轻巧远程利器:AnyDesk v1.3 BetaAnyDesk,流畅远程控制软件,操作简单实用,而且挺容易上手。
提速利器:RFID技术应用于物流配送.pdf
delphi 开发网页利器:DeWeb,可以直接将Delphi程序快速转换为网页应用的工具!使用DeWeb, 开发者不需要学习HTML、JavaScript、Java、PHP、ASP、C#等新知识,用Delphi搞定一切。DeWeb开发的网页支持所有客户端,包括...
LabView Modbus-TCP与西门子PLC通讯利器:全面兼容数据类型,高效稳定,跨品牌扩展,上下位机源码全支持,助力工程师省时开发,Labview Modbus-Tcp和西门子全糸列pLC通讯所有数据类型均能读写,速度快,使用在多个...