package org.apache.commons.collections;
List<String> list1 = new ArrayList();
list1.add("1111");
list1.add("2222");
list1.add("3333");
List<String> list2 = new ArrayList();
list2.add("3333");
list2.add("4444");
list2.add("5555");
1、CollectionUtils.union(list1,list2); ##[1111, 2222, 3333, 4444, 5555]
合并两个集合,不去重
2、CollectionUtils.intersection(list1,list2); ##[3333]
得到两个集合中相同的元素
3、CollectionUtils.disjunction(list1,list2) ##[1111, 2222, 4444, 5555]
取两个集合的补集
4、CollectionUtils.subtract(list1,list2) ##[1111, 2222]
list1 - list2 = 剩余元素组成的集合
5、CollectionUtils.containsAny(list1,list2) ##true
长的集合包含短的集合的任何一个数据true
6、CollectionUtils.getCardinalityMap(list1) ##{1111=1, 2222=1, 3333=1}
统计集合中各元素出现的次数,并Map
7、CollectionUtils.isSubCollection(list1,list2)
list1是否list2集合子集,list1集合大小<=list2集合大小
8、CollectionUtils.isProperSubCollection(list1, list2)
a是否b集合子集,a集合大小
9、CollectionUtils.isEqualCollection(list1,list2)
两个集合是否相同
10、CollectionUtils.cardinality("1111",list1)
某元素在集合中出现的次数
11、CollectionUtils.find(list1,list ->Integer.parseInt(list.toString())>2000) ##2222
返回集合中满足函数式的唯一元素,只返回最先处理符合条件的唯一元素
12、CollectionUtils.filter(list1,list -> Integer.parseInt(list.toString()) >2000); ##2222 3333
过滤集合中满足函数式的所有元素
13、CollectionUtils.countMatches(list1,list -> Integer.parseInt(list.toString()) >2000) ##2
返回集合中满足函数式的数量
14、CollectionUtils.select(list1,list -> Integer.parseInt(list.toString()) >2000) ## [2222, 3333]
将满足表达式的元素存入新集合中并返回新集合元素对象
15、CollectionUtils.selectRejected(list1,list -> Integer.parseInt(list.toString()) >2000) ##[1111]
将不满足表达式的元素存入新集合中并返回新集合元素对象
16、CollectionUtils.addIgnoreNull(list1, "4444") ##[1111, 2222, 3333, 4444]
除非元素为null,否则向集合添加元素
17、CollectionUtils.addAll(list1, new String[]{"4444","5555"}) ##[1111, 2222, 3333, 4444, 5555]
将一个数组或集合中的元素全部添加到另一个集合中
18、CollectionUtils.isEmpty(list1)
判断集合是否为空
19、CollectionUtils.isNotEmpty(list1)
判断集合不为空