Android开发Android开发经验谈Android开发

JAVA中的最强大的工具类 CollectionUtils使用指

2021-09-15  本文已影响0人  i小灰
    //处理工具依赖
    implementation 'org.apache.commons:commons-collections4:4.4'

CollectionUtils在真实项目中,是一个非常好用的工具类,使用非常频繁。它可以使代码更加简洁和安全。刚好在工作中利用这个工具类重构代码,顺便总结下分享分享:

   //checking inclusion
        List<Integer> list1 = Arrays.asList(1, 2, 5);
        List<Integer> list2 = Arrays.asList(0, 2, 5);

        //List1中个性元素 差集(集合相减) list1扣除list2
        System.out.println(CollectionUtils.subtract(list1, list2));//[1]

        //List1=2中个性元素 差集(集合相减) list1扣除list2
        System.out.println(CollectionUtils.subtract(list2, list1)); //[0]

        //List1、List2都个性元素 对称差集 安卓这里暂时没有这个方法
//        System.out.println(CollectionUtils.symmetricDifference(set1, set2)); //[1, 0]

        //List1、List2交集
        System.out.println(CollectionUtils.intersection(list2, list1)); //[2, 5]

        //List1、List2并集
        System.out.println(CollectionUtils.union(list1, list2));//[1, 2, 5, 0]

        //2个数组取交集 的补集
        System.out.println(CollectionUtils.disjunction(list1, list2));//[0, 1]

        //集合是否相等
        System.out.println(CollectionUtils.isEqualCollection(list1,list2));//false

        //集合是否不为空
        System.out.println(CollectionUtils.isNotEmpty(list1));//true

       //集合为空判断,与isEmpty()区别于多了null值判断,很实用
        System.out.println(CollectionUtils.isEmpty(list1));//false


其他用法
emptyIfNull( coll)  如果集体为null返回一个空的集合
 
union( coll1,  coll2) 合集

intersection( coll1,  coll2) 交集

disjunction( coll1,  coll2)  交集的补集 

subtract( coll1,  coll2) 差集

containsAll( coll1,  coll2)  是否全部包含

containsAny( coll1, coll2) 是否 任一包含

isSubCollection(coll1,coll2) 是否为子集

getCardinalityMap(coll)  查询基数

filter 过滤

filterInverse 反相过滤

transform 转换

select 查询

selectRejected 反相查询

collect 投影

addIgnoreNull( collection,  object) 添加 排除Null对象

addAll 合并

collate(coll1,coll2) 合并后排序

get(Object object, int index) 按下标查找,适用于:map,array,Iterator

size(Object object)  查询容器的大小,适用于:map,array,Iterator

reverseArray()  倒序

extractSingleton(collection) 取出独一值,如果集合存在多值则抛出异常

removeAll 移除所有
上一篇 下一篇

猜你喜欢

热点阅读