Apache-commons:collections4.CollectionUtils工具类

本文通过具体代码演示了如何使用Java的CollectionUtils工具类进行集合的不为空判断、取并集、交集、差集等操作,深入理解集合处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) {
    List<Integer> in1 = Arrays.asList(1, 2, 3, 4, 4, 5);
    List<Integer> in2 = Arrays.asList(4, 5, 6);
    //集合不为空判断
    boolean notEmpty = CollectionUtils.isNotEmpty(in1);
    System.out.println(notEmpty);//true
    //集合为空判断,与isEmpty()区别于多了null值判断,很实用
    boolean empty = CollectionUtils.isEmpty(in2);
    System.out.println(empty);
    //取并集
    Collection<Integer> union = CollectionUtils.union(in1, in2);
    System.out.println(union);//[1, 2, 3, 4, 4, 5, 6]
    //取交集
    Collection<Integer> intersection = CollectionUtils.intersection(in1, in2);
    System.out.println(intersection);//[4, 5]
    //取交集的补集
    Collection<Integer> disjunction = CollectionUtils.disjunction(in1, in2);
    System.out.println(disjunction);//[1, 2, 3, 4, 6]
    //取差in1与in2的差
    Collection<Integer> subtract = CollectionUtils.subtract(in1, in2);
    System.out.println(subtract);
}
### 关于 `org.apache.commons.collections.CollectionUtils` 的使用方法及 API 文档 #### 什么是 `CollectionUtils` `org.apache.commons.collections.CollectionUtils` 是 Apache Commons Collections 库中的一个重要工具类[^1]。它提供了一系列静态方法来帮助开发者更方便地处理 Java 集合对象。 #### 常见的功能 以下是该工具类的一些常用功能及其说明: 1. **判断集合是否为空** 可以通过 `isEmpty(Collection coll)` 方法快速判断一个集合是否为空或者为 null。 ```java boolean isEmpty = CollectionUtils.isEmpty(list); ``` 2. **计算交集、并集和差集** 提供了用于集合运算的方法,比如求两个集合的交集 (`intersection`)、并集 (`union`) 和差集 (`subtract`)。 ```java List<Integer> list1 = Arrays.asList(1, 2, 3); List<Integer> list2 = Arrays.asList(3, 4, 5); // 计算交集 Collection<Integer> intersection = CollectionUtils.intersection(list1, list2); // 计算并集 Collection<Integer> union = CollectionUtils.union(list1, list2); // 计算差集 (list1 中有而 list2 中没有的部分) Collection<Integer> subtract = CollectionUtils.subtract(list1, list2); ``` 3. **过滤集合元素** 利用 `filter()` 方法可以根据指定条件筛选集合中的元素。 ```java Predicate predicate = new Predicate() { public boolean evaluate(Object o) { return ((Integer)o) % 2 == 0; // 过滤偶数 } }; Collection<Integer> filteredList = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); CollectionUtils.filter(filteredList, predicate); // 结果只保留偶数 {2, 4} ``` 4. **转换集合** 使用 `collect()` 方法可以将集合中的每个元素映射到另一个值。 ```java Transformer transformer = new Transformer() { public Object transform(Object input) { Integer value = (Integer)input; return value * 2; // 将每个整数值加倍 } }; List<Integer> transformedList = CollectionUtils.collect(Arrays.asList(1, 2, 3), transformer); System.out.println(transformedList); // 输出 [2, 4, 6] ``` #### 官方文档链接 官方提供了详细的 Javadoc 文档,可以通过以下地址访问更多细节: https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/org/apache/commons/collections/CollectionUtils.html[^2] 如果上述文档无法满足需求,还可以考虑 Spring Framework 所提供的集合操作工具类作为补充[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值