apache commons collections CollectionUtils工具类简单使用

CollectionUtils提供很多对集合的操作方法,常用的方法如下

import org.apache.commons.collections.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

public class CollectionUtilsTest {

     public static void main(String[] args) {
        List<Integer> a = new ArrayList<Integer>();
        List<Integer> b = null;
        List<Integer> c = new ArrayList<Integer>();
        c.add(5);
        c.add(6);
        //判断集合是否为空
        System.out.println(CollectionUtils.isEmpty(a));   //true
        System.out.println(CollectionUtils.isEmpty(b));   //true
        System.out.println(CollectionUtils.isEmpty(c));   //false

        //判断集合是否不为空
        System.out.println(CollectionUtils.isNotEmpty(a));   //false
        System.out.println(CollectionUtils.isNotEmpty(b));   //false
        System.out.println(CollectionUtils.isNotEmpty(c));   //true

        //两个集合间的操作
        List<Integer> e = new ArrayList<Integer>();
        e.add(2);
        e.add(1);
        List<Integer> f = new ArrayList<Integer>();
        f.add(1);
        f.add(2);
        List<Integer> g = new ArrayList<Integer>();
        g.add(12);
        //比较两集合值
        System.out.println(CollectionUtils.isEqualCollection(e,f));   //true
        System.out.println(CollectionUtils.isEqualCollection(f,g));   //false

        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);
        //并集
        System.out.println(CollectionUtils.union(i,h));  //[1, 2, 3, 3, 4, 5]
        //交集
        System.out.println(CollectionUtils.intersection(i,h)); //[3]
        //交集的补集
        System.out.println(CollectionUtils.disjunction(i,h)); //[1, 2, 3, 4, 5]
        //e与h的差
        System.out.println(CollectionUtils.subtract(h,i)); //[1, 2]
        System.out.println(CollectionUtils.subtract(i,h)); //[3, 4, 5]

    }

}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。