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

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 安全处理,能显著简化集合操作代码。

相关文章:

  • Unity Shader入门(更新中)
  • Lucide:一款精美的开源矢量图标库,前端图标新选择
  • RS485转PROFINET:让废水处理从“人工监控”到“智能管控”​​
  • PyQt学习系列02-模型-视图架构与数据管理
  • DOM API-JS通过文档对象树操作Doc和CSS
  • 其他有关Oracle BUFFER CACHE的优化思路
  • Go语言之Map 的基本操作-《Go语言实战指南》
  • LeetCode 257. 二叉树所有路径求解:回溯算法的深度解析与实践
  • MySQL中InnoDB引擎逻辑存储结构、B+树索引结构、B+树高度及存储数据量
  • 前端父元素flex布局设置左右padding时,input溢出父元素右内边距无效
  • 我的世界模组开发——物理学(1)
  • VPLC (VPLCnext) K8S
  • YOLO学习笔记 | YOLO11对象检测,实例分割,姿态评估的TensorRT部署c++
  • 企业网站架构部署与优化第4章Nginx核心功能
  • C++ HTTP框架推荐
  • AI|Java开发 IntelliJ IDEA中接入本地部署的deepseek方法
  • docker-安装部署于macOS11
  • 防震基座在半导体晶圆制造设备抛光机详细应用案例-江苏泊苏系统集成有限公司
  • 【HALCON 】深入理解 gray_histo_abs 灰度直方图算子
  • 动态网页爬取:Python如何获取JS加载的数据?
  • 微网站如何做微信支付宝支付宝支付宝/网店seo排名优化
  • 如何判断一个网站是恶意网站/武汉百度信息流广告
  • web网站开发需要的软件/成都网站建设方案优化
  • 想在微信公众号上做网站链接/自媒体论坛交流推荐
  • 做网站时网页中格式对不齐怎么办/seo词条
  • 苏州网站建设运营推广/网络营销概念是什么