文章目录
一. CollectionUtils概述
- CollectionUtils:集合工具类。
- 所属包:
org.apache.commons.collections
- Maven依赖
<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency>
二. CollectionUtils部分源码
public class CollectionUtils {
/**
* @return true if non-null and non-empty
*/
public static boolean isNotEmpty(Collection coll) {
return !CollectionUtils.isEmpty(coll);
}
/**
* @return true if empty or null
*/
public static boolean isEmpty(Collection coll) {
return (coll == null || coll.isEmpty());
}
}
三. 常用方法
1. isNotEmpty(Collection coll)
public static boolean isNotEmpty(Collection coll)
:如果集合coll不为空,并且size>0,则返回true。- 使用
List<Integer> list = Lists.newArrayList();
System.out.println(CollectionUtils.isNotEmpty(null)); // false
System.out.println(CollectionUtils.isNotEmpty(list)); // false
list.add(1);
System.out.println(CollectionUtils.isNotEmpty(list)); // true
2. isEmpty(Collection coll)
public static boolean isEmpty(Collection coll)
:判断集合coll是否为空,或size=0。- 使用
List<Integer> list = Lists.newArrayList(); System.out.println(CollectionUtils.isEmpty(null)); // true System.out.println(CollectionUtils.isEmpty(list)); // true list.add(1); System.out.println(CollectionUtils.isEmpty(list)); // false
3. 两个集合间的操作
-
方法概述
public static Collection union(final Collection a, final Collection b)
:求集合a和b的并集public static Collection intersection(final Collection a, final Collection b)
:求集合a和b的交集public static Collection subtract(final Collection a, final Collection b)
:求集合a和b的差集
-
使用
List<Integer> list1 = Lists.newArrayList(1,2,3,4); List<Integer> list2 = Lists.newArrayList(3,4,5,6); // 并集 Collection collection1 = CollectionUtils.union(list1, list2); // [1, 2, 3, 4, 5, 6] // 交集 Collection collection2 = CollectionUtils.intersection(list1, list2); // [3,4] // list1和list2的差集 Collection collection3 = CollectionUtils.subtract(list1, list2); // [1,2] // list2和list1的差集 Collection collection4 = CollectionUtils.subtract(list2, list1); // [5, 6]