java listutils_集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils的使用

要使用这个工具类,我们要在maven工程当中加入相应的依赖:

commons-collections

commons-collections

3.1

今天来总结下这些工具类。

主要用它的isEmpty(final Collection> coll)静态方法来判断一个给定的集合是否为null或者是否长度为0。最近才发现此工具类还可以取集合的交集、并集、甚至差集,集合1:[1,2,3,4],集合2:[3,4,5,6]

上面两个集合取交集的结果是[3,4],CollectionUtils工具类提供了Collection intersection(final Iterable extends O> a, final Iterable extends O> b)静态方法来取交集,参数传两个集合,可以是list,也可以是set,甚至一个list,一个set;

上面两个集合取并集的结果是[1,2,3,4,5,6],CollectionUtils工具类提供了Collection union(final Iterable extends O> a, final Iterable extends O> b) ,参数同取交集类似;

CollectionUtils工具类也提供了取差集的静态方法Collection disjunction(final Iterable extends O> a, final Iterable extends O> b),如果操作上面两个集合的话(第一个集合减去第二个集合),结果是[1,2,5,6],这个效果其实是两个集合的并集减去这两个集合的交集。但是实际开发中,我们可能更想要得到[1,2],CollectionUtils工具类并没有提供能直接达到这种效果的方法,不过我们可以通过两个方法的合作来达到这种效果,即用第一个集合减去这两个集合的交集:

public

static

void

main(String[] args) {

List list1 =

new

ArrayList();

list1.add(1);

list1.add(2);

list1.add(3);

list1.add(4);

List list2 =

new

ArrayList();

list2.add(3);

list2.add(4);

list2.add(5);

list2.add(6);

// 取交集[3, 4]

Collection interColl = CollectionUtils.intersection(list1, list2);

System.

out

.println(interColl);

// 打印出[3, 4]

// 取并集[1, 2, 3, 4, 5, 6]

Collection unionColl = CollectionUtils.union(list1, list2);

System.

out

.println(unionColl);

// 打印出[1, 2, 3, 4, 5, 6]

// 取差集[1,2]

Collection disColl = CollectionUtils.disjunction(list1, interColl);

System.

out

.println(disColl);

// 打印出[1, 2]

}

除了上面介绍的方法外,CollectionUtils工具类还有好多其他常用的静态方法。除了CollectionUtils工具类外,还有ListUtils、SetUtils工具类,里面也有好多使用的静态方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值