commons-collections4工具常用方法

commons-collections4是Apache Commons项目中的一个模块,提供了一系列处理集合和映射的工具类、接口和算法。它是在commons-collections的基础上进行了改进和增强,为Java开发者提供了更多集合操作的功能和便利性。

引入依赖

复制代码
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.4</version>
        </dependency>

判断集合是否为null或长度为0

java 复制代码
        List<String> a = new ArrayList<>();
        System.out.println(CollectionUtils.isEmpty(a)); // true
        a=null;
        System.out.println(CollectionUtils.isEmpty(a)); // true

取集合的交集

java 复制代码
        List<String> a = new ArrayList<>();
        a.add("a");
        a.add("b");
        a.add("c");
        List<String> b = new ArrayList<>();
        b.add("c");
        b.add("1");
        b.add("2");
        System.out.println(CollectionUtils.intersection(a, b)); // [c]

取集合并集

java 复制代码
        List<String> a = new ArrayList<>();
        a.add("a");
        a.add("b");
        a.add("c");
        List<String> b = new ArrayList<>();
        b.add("c");
        b.add("1");
        b.add("2");
        System.out.println(CollectionUtils.union(a,b)); // [a, 1, b, 2, c]

取集合差集

java 复制代码
       List<String> a = new ArrayList<>();
        a.add("a");
        a.add("b");
        a.add("c");
        List<String> b = new ArrayList<>();
        b.add("c");
        b.add("1");
        b.add("2");
        // a-b的值
        System.out.println(CollectionUtils.subtract(a,b)); // [a, b]
相关推荐
caoerzhong22 分钟前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
【JAVA】玩家1 小时前
Spring核心原理全解析:从零到生产实战
java·后端·spring
Wang's Blog2 小时前
Java框架 SpringCloud 快速入门: 实现 Feign 最佳实践(抽取方式)
java·spring cloud
MandalaO_O3 小时前
IDEA 开发(快捷键 + 调试 + 序列化)
java·ide·intellij-idea
xiaoqiMikko3 小时前
JVM 线上排查实战(七):jps 看不见它、jstack 连不上它,可它明明活得好好的
java·jvm
狼爷4 小时前
Rust/Go/Java/Python/PHP 大比拼:负载下后端框架到底差多少?
java·后端·编程语言
念何架构之路4 小时前
zap扩展生态与总结
java·前端·数据库
第七页独白5 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库
QCoding5 小时前
Spring AI Alibaba Graph实战:从ReAct Agent到Workflow,企业AI复杂流程该如何编排?
java·人工智能
用户094248568035 小时前
第25章:Java虚拟线程(Project Loom)实战与调度协作
java·jvm