前言
Commons Collections增强了Java集合框架,许多API使用起来都很方便,在操作集合中,许多工具类都可以在这里找着, 减少重复造轮子,大大减少开发时时间
此文章使用的jar包版本:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
API(排除已过时的api)
1、emptyIfNull
2、union
并集
3、intersection
交集
4、disjunction
交集的补集:取两个集合的补集
5、subtract
差集:list1 - list2 = 剩余元素组成的集合
6、containsAll
list1是否包含list2里的元素
7、containsAny
长的集合包含短的集合的任何一个数据true
8、getCardinalityMap
统计集合中各元素出现的次数
9、isSubCollection
是否子集
10、isProperSubCollection
a集合是否是b的子集
11、isEqualCollection
两个集合是否相同(与集合顺序无关)
12、cardinality
某元素在集合中出现的次数
13、filter
过滤:集合里存储满足条件的元素;如果返回值false则代表筛选失败,集合为空
14、filterInverse
反向过滤,和13相反
15、transform
转换:集合按照条件进行转换
16、countMatches
返回集合中满足接口predicate逻辑的数量
17、select
查询:返回符合条件的集合内容(1、与filter的区别就是,filter是在元集合上操作,这个是返回一个新集合;2、四个参数的,第三个参数是存储符合条件的元素,第四个是存储不符合的元素)
18、exists
判断集合中是否存在满足条件的元素
19、matchesAll
判断集合中每个元素是否满足条件
20、selectRejected
反向查询(和17相反)
21、collect
收集:集合按照条件进行转换后返回一个新的集合(与transform区别是返回新集合不改变原集合内容)
22、addIgnoreNull
添加:添加非null的元素(如果是null会报错)
23、addAll
添加集合:这比接口Collection的addall强大很多,比如List集合可以添加Array等等。
24、size
集合大小
25、isEmpty(isNotEmpty)
是(否)null或者空
26、reverseArray
数组顺序反转