CollectionUtils工具类
CollectionUtils是Spring框架中org.springframework.util工具包提供的一个工具类,主要用于处理Java集合,提供了一系列静态方法以简化集合的操作。
一、常用方法
/**
* 1、除非元素为null,否则向集合添加元素
*/
CollectionUtils.addIgnoreNull(personList, null);
/**
* 2、空安全检查指定的集合是否为空
*/
CollectionUtils.isEmpty(Collection < ? > coll);
/**
* 3、 空安全检查指定的集合是否为空。
*/
CollectionUtils.isNotEmpty(Collection < ? > coll);
/**
* 4、并集
*/
CollectionUtils.union(Iterable < ? extends O > a, Iterable < ? extends O > b);
/**
* 5、交集
*/
CollectionUtils.intersection(Collection a, Collection b);
/**
*6、 交集的补集(析取)
*/
CollectionUtils.disjunction(Collection a, Collection b);
二、用例
检查指定的集合是否为空和不为空:
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
List<String> list3 = null;
list1.add("张三");
//检查指定的集合是否为空
//与isEmpty()区别于多了null值判断,很实用
System.out.println(CollectionUtils.isEmpty(list1));//false
System.out.println(CollectionUtils.isEmpty(list2));//true
System.out.println(CollectionUtils.isEmpty(list3));//true
//检查指定的集合是否为空。
System.out.println(CollectionUtils.isNotEmpty(list1));//true
System.out.println(CollectionUtils.isNotEmpty(list2));//false
System.out.println(CollectionUtils.isNotEmpty(list3));//false
除非元素为null,否则向集合添加元素:
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
list1.add("张三");
list2.add(null);
//除非元素为null,否则向集合添加元素
System.out.println(CollectionUtils.addIgnoreNull(list1, "666"));//true
System.out.println(CollectionUtils.addIgnoreNull(list2, "666"));//true
交集并集补集
List<Integer> list1 = Arrays.asList(1, 2, 5);
List<Integer> 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.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]