org.apache.commons.collections.CollectionUtils;
- 判断集合非空 / 为空
CollectionUtils.isNotEmpty(list); 不会排除null和""。 CollectionUtils.isEmpty(list);
- 并交差集
List<Integer> h = new ArrayList<Integer>(); h.add(1); h.add(2); h.add(3);; List<Integer> i = new ArrayList<Integer>(); i.add(3); i.add(3); i.add(4); i.add(5); //并集 CollectionUtils.union(i,h); //[1, 2, 3, 3, 4, 5] //交集 CollectionUtils.intersection(i,h); //[3] //交集的补集 CollectionUtils.disjunction(i,h); //[1, 2, 3, 4, 5] //差集 CollectionUtils.subtract(h,i); //[1, 2]
- 判断集合是否相等
CollectionUtils.isEqualCollection(list1,list2);
- 判断集合是否包含至少一个相同的元素
List<String> list1 = new ArrayList<String>(); list1.add("a"); list1.add("b"); list1.add("c"); List<String> list2 = new ArrayList<String>(); list2.add("a"); list2.add("d"); list2.add("e"); System.out.println(CollectionUtils.containsAny(list1, list2)); // true
- 返回一个Map,value为集合中的元素但是去掉重复值,key为对应元素在集合中出现的次数
List<String> list1 = new ArrayList<String>(); list1.add("a"); list1.add("a"); list1.add("b"); list1.add("b"); list1.add("b"); list1.add("c"); list1.add("c"); list1.add("c"); list1.add("c"); System.out.println(CollectionUtils.getCardinalityMap(list1)); // {a=2, b=3, c=4}
- 判断是否为子集合
List<String> list1 = new ArrayList<String>(); list1.add("a"); list1.add("b"); list1.add("c"); list1.add("d"); List<String> list2 = new ArrayList<String>(); list2.add("b"); list2.add("c"); // 判断list2是否为list1的子集合 System.out.println(CollectionUtils.isSubCollection(list2, list1)); // true
- 返回元素在集合中出现的次数
public static int cardinality(Object obj, final Collection coll);
- 将迭代器中的所有元素添加到给定集合
public static void addAll(Collection collection, Iterator iterator);
- 将数组中的所有元素添加到集合
public static void addAll(Collection collection, Object[] elements);
- 获取指定的集合/迭代器的大小
public static int size(Object object);