JAVA中的最强大的工具类 CollectionUtils使用指南

2025-07-25 09:25:44

JAVA中的最强大的工具类 CollectionUtils使用指南

//处理工具依赖

implementation 'org.apache.commons:commons-collections4:4.4'

CollectionUtils在真实项目中,是一个非常好用的工具类,使用非常频繁。它可以使代码更加简洁和安全。刚好在工作中利用这个工具类重构代码,顺便总结下分享分享:

//checking inclusion

List list1 = Arrays.asList(1, 2, 5);

List list2 = Arrays.asList(0, 2, 5);

//List1中个性元素 差集(集合相减) list1扣除list2

System.out.println(CollectionUtils.subtract(list1, list2));//[1]

//List1=2中个性元素 差集(集合相减) list1扣除list2

System.out.println(CollectionUtils.subtract(list2, list1)); //[0]

//List1、List2都个性元素 对称差集 安卓这里暂时没有这个方法

// System.out.println(CollectionUtils.symmetricDifference(set1, set2)); //[1, 0]

//List1、List2交集

System.out.println(CollectionUtils.intersection(list2, list1)); //[2, 5]

//List1、List2并集

System.out.println(CollectionUtils.union(list1, list2));//[1, 2, 5, 0]

//2个数组取交集 的补集

System.out.println(CollectionUtils.disjunction(list1, list2));//[0, 1]

//集合是否相等

System.out.println(CollectionUtils.isEqualCollection(list1,list2));//false

//集合是否不为空

System.out.println(CollectionUtils.isNotEmpty(list1));//true

//集合为空判断,与isEmpty()区别于多了null值判断,很实用

System.out.println(CollectionUtils.isEmpty(list1));//false

其他用法

emptyIfNull( coll) 如果集体为null返回一个空的集合

union( coll1, coll2) 合集

intersection( coll1, coll2) 交集

disjunction( coll1, coll2) 交集的补集

subtract( coll1, coll2) 差集

containsAll( coll1, coll2) 是否全部包含

containsAny( coll1, coll2) 是否 任一包含

isSubCollection(coll1,coll2) 是否为子集

getCardinalityMap(coll) 查询基数

filter 过滤

filterInverse 反相过滤

transform 转换

select 查询

selectRejected 反相查询

collect 投影

addIgnoreNull( collection, object) 添加 排除Null对象

addAll 合并

collate(coll1,coll2) 合并后排序

get(Object object, int index) 按下标查找,适用于:map,array,Iterator

size(Object object) 查询容器的大小,适用于:map,array,Iterator

reverseArray() 倒序

extractSingleton(collection) 取出独一值,如果集合存在多值则抛出异常

removeAll 移除所有

最新发表
友情链接

Copyright © 2022 日本世界杯_林高远世界杯 - edenyn.com All Rights Reserved.