apache下的CollectionUtils工具类

目录

依赖

这个包下

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

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

3.(String)类型中的集合-并集 union

4.(String)类型中的集合-交集

5.(String)类型中交集的补集

6.(String)类型中差集(扣除)

7.containsAny()方法:判断两个集合是否有交集,如果存在交集则返回true,否则返回false。

8.是否全部包含: containsAll


依赖

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

这个包下

import org.apache.commons.collections4.CollectionUtils;

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

@Test
    public void Users12() {
        List<Users> userList = new ArrayList<>();
        userList.add(new Users(1, "user1", "password1", 25));
        userList.add(new Users(2, "user2", "password2", 17));
        userList.add(new Users(3, "user3", "password3", 19));
        userList.add(new Users(4, "user4", "password4", 18));
        userList.add(new Users(5, "user5", "password5", 19));
        userList.add(new Users(6, "user6", "password6", 20));

        /**
         * 空 安全检查指定的集合是否为空
         */
        //CollectionUtils.isEmpty(Collection<?> coll)
        if(CollectionUtils.isEmpty(userList)){
            System.out.println("集合为空");
        } else {
            System.out.println("集合不为空");
        }

    }

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

 @Test
    public void Users12() {
        List<Users> userList = new ArrayList<>();
        userList.add(new Users(1, "user1", "password1", 25));
        userList.add(new Users(2, "user2", "password2", 17));
        userList.add(new Users(3, "user3", "password3", 19));
        userList.add(new Users(4, "user4", "password4", 18));
        userList.add(new Users(5, "user5", "password5", 19));
        userList.add(new Users(6, "user6", "password6", 20));

        /**
         * 空安全检查指定的集合是否为空。
         */
       // CollectionUtils.isNotEmpty(Collection<?> coll)
        if(CollectionUtils.isNotEmpty(userList)){
            System.out.println("集合不为空");
        } else {
            System.out.println("集合为空");
        }


    }

3.(String)类型中的集合-并集 union

 @Test
    public void Users12() {

        String[] A = new String[] { "A", "2", "3", "4"};
        String[] B = new String[] { "3", "C", "5", "A" };
        List<String> listA = Arrays.asList(A);
        List<String> listB = Arrays.asList(B);

        //1、并集 union ,就是重复的元素只留一个,本身就是一个的就留
        System.out.println(CollectionUtils.union(listA, listB));
    }

4.(String)类型中的集合-交集

@Test
    public void Users18() {

        String[] A = new String[] { "A", "2", "3", "4"};
        String[] B = new String[] { "3", "C", "5", "A" };
        List<String> listA = Arrays.asList(A);
        List<String> listB = Arrays.asList(B);

        //交集
        System.out.println(CollectionUtils.intersection(listA, listB));
    }

5.(String)类型中交集的补集

 @Test
    public void Users18() {

        String[] A = new String[] { "A", "2", "3", "4"};
        String[] B = new String[] { "3", "C", "5", "A" };
        List<String> listA = Arrays.asList(A);
        List<String> listB = Arrays.asList(B);

        //交集的补集
        System.out.println(CollectionUtils.disjunction(listA, listB));
    }

6.(String)类型中差集(扣除)

 @Test
    public void Users18() {

        String[] A = new String[]{"A", "2", "3", "4"};
        String[] B = new String[]{"3", "C", "5", "A"};
        List<String> listA = Arrays.asList(A);
        List<String> listB = Arrays.asList(B);

        //4、差集(扣除)
        System.out.println(CollectionUtils.subtract(listA, listB));
        //输出:[2, 4]
        System.out.println(CollectionUtils.subtract(listB, listA));
        //输出:[C, 5]

    }

7.containsAny()方法:判断两个集合是否有交集,如果存在交集则返回true,否则返回false。

 @Test
    public void Users18() {

        String[] A = new String[]{"A", "2", "3", "4"};
        String[] B = new String[]{"3", "C", "5", "A"};
        List<String> listA = Arrays.asList(A);
        List<String> listB = Arrays.asList(B);

        if (CollectionUtils.containsAny(listA,listB)){
            System.out.println("有相同的数据");
        }else {
            System.out.println("没有相同的数据");
        }
        
    }

8.是否全部包含: containsAll

 @Test
    public void Users18() {

        String[] A = new String[]{"A", "2", "3", "4"};
        String[] B = new String[]{"3", "C", "5", "A"};
        List<String> listA = Arrays.asList(A);
        List<String> listB = Arrays.asList(B);

        if (CollectionUtils.containsAll(listA,listB)){
            System.out.println("数据完全相同");
        }else {
            System.out.println("数据有不相同的");
        }

        System.out.println("-----------------------------------------");
        String[] A2 = new String[]{"A", "3"};
        String[] B2 = new String[]{"3", "A"};
        List<String> listA2 = Arrays.asList(A2);
        List<String> listB2 = Arrays.asList(B2);

        if (CollectionUtils.containsAll(listA2,listB2)){
            System.out.println("数据完全相同");
        }else {
            System.out.println("数据有不相同的");
        }
    }

相关推荐

  1. apacheCollectionUtils工具

    2024-01-20 07:28:03       25 阅读
  2. CollectionUtils

    2024-01-20 07:28:03       28 阅读
  3. 【JDBC】Apache DbUtils工具使用

    2024-01-20 07:28:03       14 阅读
  4. 基于jdk11和基于apache-httpclienthttp请求工具

    2024-01-20 07:28:03       28 阅读
  5. CollectionUtils

    2024-01-20 07:28:03       67 阅读
  6. redis工具详细

    2024-01-20 07:28:03       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 07:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 07:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 07:28:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 07:28:03       20 阅读

热门阅读

  1. 《设计模式的艺术》笔记 - 命令模式

    2024-01-20 07:28:03       34 阅读
  2. linux 无残留卸载k8s

    2024-01-20 07:28:03       33 阅读
  3. 设计模式-状态模式

    2024-01-20 07:28:03       31 阅读
  4. 从C到C++:向面向对象过渡的技巧与诀窍

    2024-01-20 07:28:03       24 阅读
  5. 【话题】自然语言处理的发展

    2024-01-20 07:28:03       31 阅读
  6. 【数据库原理】(33)数据库实施阶段

    2024-01-20 07:28:03       32 阅读
  7. Android 13.0 Recent列表不显示某个app

    2024-01-20 07:28:03       27 阅读
  8. Wargames与bash知识21

    2024-01-20 07:28:03       27 阅读