当前位置: 首页 > java >正文

Java使用CollectionUtils集合工具类

1、基本介绍

CollectionUtils 是 Apache Commons Collections 库提供的集合操作工具类,主要用于简化 List、Set 等集合的常见操作。与 JDK 自带的 Collections 工具类不同,它提供了更多增强功能且能更好地处理 null 值。

Maven 依赖配置:

注意:使用前需添加 Maven 依赖,且与 Spring 框架的 CollectionUtils 区分。

<!-- Apache Commons Collections 库 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.4</version>
</dependency>

 Java集合工具类的使用:

《Java使用Collections集合工具类》

《Java使用CollectionUtils集合工具类》

2、核心功能方法

方法说明
一、集合判断方法
isEmpty(Collection coll)判断集合为 null 或空集合。
isNotEmpty(Collection coll)判断集合非 null 且非空。
size(Collection coll)安全获取集合大小,如果 null,则返回 0。
二、集合运算方法
union(Collection a, Collection b)返回两个集合的并集。
intersection(Collection a, Collection b)返回两个集合的交集。
subtract(Collection a, Collection b)返回 a 集合减去 b 集合的元素。
disjunction(Collection a, Collection b)返回两个集合的对称差集。
三、集合操作工具
filter(Collection collection, Predicate predicate)条件过滤集合元素。
transform(Collection collection, Transformer transformer)对集合元素进行转换。
collect(Iterator input, Transformer transformer)迭代器元素转换。
addIgnoreNull(Collection<T> coll, T item)仅添加非 null 元素。
四、集合比较方法
isEqualCollection(Collection a, Collection b)判断两集合元素是否完全相同。
cardinality(Object obj, Collection coll)统计元素出现次数。
exists(Collection coll, Predicate pred)判断是否存在满足条件的元素。
五、特殊集合创建
synchronizedCollection(Collection coll)创建线程安全集合。
unmodifiableCollection(Collection coll)创建不可变集合。
predicatedCollection(Collection coll, Predicate pred)创建带验证的集合。
六、其他实用方法
reverseArray(Object[] array)反转数组顺序。
collate(Iterable a, Iterable b)合并两个已排序集合。
get(Object object, int index)安全获取集合元素。
forAllDo(Collection coll, Closure closure)对所有元素执行操作。

这些方法均支持 null 安全处理,能显著简化集合操作代码。

http://www.xdnf.cn/news/8288.html

相关文章:

  • 大模型相关数据格式及训练器接收的数据格式
  • 云南安全员考试报名需要具备哪些条件?
  • 【深度学习-Day 15】告别“盲猜”:一文读懂深度学习损失函数
  • VSCode C/C++ 开发环境完整配置及一些扩展用途(自用)update:2025/3/31
  • 英语学习5.21
  • 【项目记录】部门增删改及日志技术
  • 超声仿真乳腺体模的主要声学参数
  • 3 PID控制学习指南
  • el-form elform 对齐方式调整
  • mysql安全管理
  • 【C/C++】虚拟内存空间问题整理_可用于验证掌握情况
  • WebTransport 低延迟通信
  • 解决SQL Server SQL语句性能问题(9)——创建和更新统计对象
  • Spring的事务传播行为
  • PCB设计教程【入门篇】——电路分析基础-电路定理
  • tf 重排 切分 逆排列
  • mysql日志文件binlog分析记录
  • 结构性断裂:中年失业潮与婚姻解体的崩溃逻辑
  • 数学基础知识:三角函数
  • 【打卡】车厢重排
  • java后端-海外登录(谷歌/FaceBook/苹果)
  • 汽配知识(四)不同车型与区域市场的分类差异
  • 率先实现混合搜索:使用 Elasticsearch 和 Semantic Kernel
  • Java IO流完全解析:从基础到高级应用
  • Vue.js教学第十一章:VueRouter实战指南
  • 在 Matter.js 物理引擎中,isSensor 布尔属性的使用
  • MySQL 数据库表结构修改与字段添加
  • C++:关联容器set容器,multiset容器
  • 【Python】开发工具uv
  • KS107BG型超声体模的结构及性能