在做项目的时候发现了这个类,觉得很有意思就过来记录下常用方法。
CollectionUtils 工具类使用还是挺简便的,可用于重构代码。该类在org.apache的包下,导入的时候要看清楚。
首先maven导入jar包
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
以下是对集合操作的常用方法:
public static void main(String[] args) {
//定义集合
String[] arrayA = new String[] {
"1", "2", "3", "4"};
String[] arrayB = new String[] {
"7", "8", "4", "6" };
List<String> listA = Arrays.asList(arrayA);
List<String> listB = Arrays.asList(arrayB);
//union:两个不为空集合取并集。特点:去重并且升序排序
System.out.println(CollectionUtils.union(listA, listB));
//输出 [1, 2, 3, 4, 6, 7, 8]
//intersection:两个集合的交集。
System.out.println(CollectionUtils.intersection(listA,listB));
//输出 [4]
//disjunction:两个集合的对称差异(两个集合补集)
System.out.println(CollectionUtils.disjunction(listA,listB));
//输出 [1, 2, 3, 6, 7, 8]
//subtract:两个集合的差集(扣除),集合A扣除集合B的值
System.out.println(CollectionUtils.subtract(listA,listB));
//输出 [1, 2, 3]
}
以下是对集合判断的常用方法:
public static void main(String[] args) {
//定义集合
String[] arrayA = new String[] {
"1", "2", "3", "4"};
String[] arrayB = new String[] {
"7", "8", "4", "6" };
List<String> listA = Arrays.asList(arrayA);
List<String> listB = Arrays.asList(arrayB);
//isEmpty:某个集合是否为空判断
System.out.println(CollectionUtils.isEmpty(null));
// 输出 true
System.out.println(CollectionUtils.isEmpty(new ArrayList()));
//输出 true
System.out.println(CollectionUtils.isEmpty({
1,2,3}));
//输出 false
//isNotEmpty:集合不为空判断
System.out.println(CollectionUtils.isNotEmpty(null));
//输出 false
System.out.println(CollectionUtils.isNotEmpty(new ArrayList()));
//输出 false
System.out.println(CollectionUtils.isNotEmpty({
1,2,3}));
// 输出 true
//containsAny:集合A和集合B的交集不为空,返回true。常用于判断两个集合是否存在相同数据
System.out.println(CollectionUtils.containsAny(listA,listB));
//输出 true
//isEqualCollection:判断两个集合内元素是否相等(两个集合完全相等),相等返回 true
System.out.println(CollectionUtils.isEqualCollection(listA,listB));
//输出false
}