collectionutils包_CollectionUtils工具类

所以需要倒入相关jar包,目前从maven找到最新jar包如下:

org.apache.commons

commons-collections4

4.3

常用方法

除非元素为null,否则向集合添加元素

CollectionUtils.addIgnoreNull(personList,null);

将两个已排序的集合a和b合并为一个已排序的列表,以便保留元素的自然顺序

CollectionUtils.collate(Iterable extends O> a, Iterable extends O> b)

将两个已排序的集合a和b合并到一个已排序的列表中,以便保留根据Comparator c的元素顺序。

CollectionUtils.collate(Iterable extends O> a, Iterable extends O> b, Comparator super O> c)

返回该个集合中是否含有至少有一个元素

CollectionUtils.containsAny(Collection> coll1, T... coll2)

如果参数是null,则返回不可变的空集合,否则返回参数本身。(很实用 ,最终返回List EMPTY_LIST = new EmptyList<>())

CollectionUtils.emptyIfNull(Collection collection)

空安全检查指定的集合是否为空

CollectionUtils.isEmpty(Collection> coll)

空安全检查指定的集合是否为空。

CollectionUtils.isNotEmpty(Collection> coll)

反转给定数组的顺序。

CollectionUtils.reverseArray(Object[] array);

差集

CollectionUtils.subtract(Iterable extends O> a, Iterable extends O> b)

并集

CollectionUtils.union(Iterable extends O> a, Iterable extends O> b)

交集

CollectionUtils.intersection(Collection a, Collection b)

交集的补集(析取)

CollectionUtils.disjunction(Collection a, Collection b)

//添加数组数据到集合

String[] strArray = {"aaa", "bbb", "ccc"};

List strList = new ArrayList();

CollectionUtils.addAll(strList, strArray);

//添加集合数据到另一个集合

List list = Arrays.asList(new String[]{"AAA", "BBB", "CCC"});

List list1 = new ArrayList<>();

CollectionUtils.addAll(list1, list.iterator());

//删除元素集合

List list1 = Arrays.asList(new String[]{"1", "4", "6", "7"});

List list2 = Arrays.asList(new String[]{"6", "9"});

Collection collection = CollectionUtils.removeAll(list1, list2);

//返回集合2在集合1所存在的数据,返回的是一个新的集合

Collection collection = CollectionUtils.retainAll(list1, list2);

//数组反转

String[] arr = new String[]{"1", "4", "6", "7"};

CollectionUtils.reverseArray(arr);

//返回每个元素出现的个数

Map cardinalityMap = CollectionUtils.getCardinalityMap(list1);

//返回对象在集合中出现的次数

int cardinality = CollectionUtils.cardinality("9", list2);

//获取集合、Map,数组指定索引处远处

Object o = CollectionUtils.get(list2, 3);

//对集合中某些些元素进行操作,并返回操作后的元素集合

Collection collect = CollectionUtils.collect(list2.iterator(), input -> {

return input += "a";

});

//对集合中某些些元素进行操作,并将操作后的元素封装带第3个参数集合中,第3个集合返回

Collection collect = CollectionUtils.collect(list2.iterator(), input -> {

return input += "a";

},new ArrayList());

//检查指定的collection / array / iterator是否为空。

CollectionUtils.sizeIsEmpty(new ArrayList())

//判断两个集合是否相等

CollectionUtils.isEqualCollection(list1, list2);

//判断集合1是否小于集合2

List testList = Arrays.asList(new Integer[]{1, 2, 3});

List testList2 = new ArrayList(0){

{

add(1);

}

};

CollectionUtils.isProperSubCollection(testList2,testList);

//判断集合1和集合2是否存在交集

List testList = Arrays.asList(new Integer[]{1, 2, 3});

List testList2 = new ArrayList(0){

{

add(1);

}

};

CollectionUtils.isSubCollection(testList2, testList);

//判断两个集合是否存在交集

CollectionUtils.containsAny(list1, list2)

//条件过滤,如果testList为null,不进行任何操作

CollectionUtils.filter(testList, itm->{

return Integer.valueOf(itm.toString())>2;

});

//返回符合条件的个数

int resultMatchNum= CollectionUtils.countMatches(testList, itm->{

return Integer.valueOf(itm.toString())>1;

});

//判断是否存在符合条件的元素

boolean resultExists=CollectionUtils.exists(testList, itm->{

return Integer.valueOf(itm.toString())>2;

});

//返回符合条件的数据,注意:只返回一个

Object reusltFindObject=CollectionUtils.find(testList, itm->{

return Integer.valueOf(itm.toString())>1;

});

//返回符合条件的数据,返回一个集合

Collection resultSelect=CollectionUtils.select(testList, itm->{

return Integer.valueOf(itm.toString())>1;

});

//返回符合条件的数据,并封装到传入的集合中

List testList2 = new ArrayList(){

{

add(1);

}

};

CollectionUtils.select(testList, itm->{

return Integer.valueOf(itm.toString())>1;

}, testList2);

//和select结果相反,返回不符合条件的collection

Collection resultSelectReject=CollectionUtils.selectRejected(testList, itm->{

return Integer.valueOf(itm.toString())>1;

});

//和select结果相反,将不符合条件的元素,封装到传入的集合

List testList2 = new ArrayList(){

{

add(1);

}

};

Collection resultSelectReject=CollectionUtils.selectRejected(testList, itm->{

return Integer.valueOf(itm.toString())>1;

});

//断言,都符合返回集合,否则返回 java.lang.IllegalArgumentException 异常

Collection resultCollect=CollectionUtils.predicatedCollection(testList, itm->{

return Integer.valueOf(itm.toString())>1;

});

//对每个元素进行操作,操作直接影响传入的集合

CollectionUtils.transform(list1, input -> input+"@");

//返回同步的集合

Collection collection = CollectionUtils.synchronizedCollection(new ArrayList());

//对复制一份不可修改的集合,原集合改变,则集合改变,但复制的集合不可修改添加

Collection c = new ArrayList<>();

Collection s = CollectionUtils.unmodifiableCollection(c);

c.add("boy");

c.add("love");

c.add("girl");

// s.add("have a error");报错

System.out.println(s);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值