集合工具类 org.apache.commons.collections.CollectionUtils

本文介绍如何利用Apache Commons Collections库中的CollectionUtils类来高效地处理Java中的List集合,包括判断集合是否为空、比较集合内容是否相等、进行集合的并集、交集和差集运算等操作。
摘要由CSDN通过智能技术生成

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]

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值