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);

 

posted on 2019-11-22 11:08  FuYingju  阅读(87)  评论(0编辑  收藏  举报