ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础类(七):CollectionUtils工具类

2021-09-20 13:33:58  阅读:127  来源: 互联网

标签:Java String CollectionUtils arrayB new 工具 public arrayA


目录

1、Pom包

2、常用方法

2.1、集合判断

2.2、并集

2.3、交集

2.4、交集的补集(析取)

2.5、差集

2.6、不可修改的集合【已经过期】


1、Pom包

从maven找到最新jar包如下:

  <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.3</version>
    </dependency>

2、常用方法

2.1、集合判断

​ 判断集合是否为空:
     CollectionUtils.isEmpty(null): true
    CollectionUtils.isEmpty(new ArrayList()): true  
    CollectionUtils.isEmpty({a,b}): false

 判断集合是否不为空:
    CollectionUtils.isNotEmpty(null): false
    CollectionUtils.isNotEmpty(new ArrayList()): false
    CollectionUtils.isNotEmpty({a,b}): true

源码分析

public class CollectionUtils {
    public static boolean isEmpty(Collection<?> coll) {
        return coll == null || coll.isEmpty();
    }
    public boolean isEmpty() {
        return size == 0;
    }
}

2.2、并集

public class TestCollectionUtils {

    public static void main(String[] args) {
        String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
        String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
        List<String> listA = Arrays.asList(arrayA);
        List<String> listB = Arrays.asList(arrayB);
        //2个数组取并集
        System.out.println(ArrayUtils.toString(CollectionUtils.union(listA, listB)));
        //[A, B, C, D, E, F, G, H, K]
    }

}

2.3、交集

public class TestCollectionUtils {

    public static void main(String[] args) {
        String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
        String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
        List<String> listA = Arrays.asList(arrayA);
        List<String> listB = Arrays.asList(arrayB);
        //2个数组取交集
        System.out.println(ArrayUtils.toString(CollectionUtils.intersection(listA, listB)));
        //[B, D, F]
    }

}

2.4、交集的补集(析取)

public class TestCollectionUtils {

    public static void main(String[] args) {
        String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
        String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
        List<String> listA = Arrays.asList(arrayA);
        List<String> listB = Arrays.asList(arrayB);
        //2个数组取交集 的补集
        System.out.println(ArrayUtils.toString(CollectionUtils.disjunction(listA, listB)));
        //[A, C, E, G, H, K]
    }

}

2.5、差集

public class TestCollectionUtils {

    public static void main(String[] args) {
        String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
        String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
        List<String> listA = Arrays.asList(arrayA);
        List<String> listB = Arrays.asList(arrayB);
        //arrayA扣除arrayB
        System.out.println(ArrayUtils.toString(CollectionUtils.subtract(listA, listB)));
        //[A, C, E]   
    }

}

2.6、不可修改的集合【已经过期】


public class TestCollectionUtils {

    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>();
        //deprecated
        Collection<String> s = CollectionUtils.unmodifiableCollection(c);
        c.add("a");
        c.add("b");
        c.add("c");
        //Exception in thread "main" java.lang.UnsupportedOperationException
        //s.add("have a error");
        System.out.println(s);
    }

}

标签:Java,String,CollectionUtils,arrayB,new,工具,public,arrayA
来源: https://blog.csdn.net/mingyuli/article/details/120386569

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有