apache下的CollectionUtils工具类

这篇具有很好参考价值的文章主要介绍了apache下的CollectionUtils工具类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

依赖

这个包下

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

2.空 安全检查指定的集合是否不为空(isNotEmpty)

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

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

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

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

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

8.是否全部包含: containsAll

9.getCardinalityMap(这个方法的作用是统计集合中每个元素出现的次数,并以映射的形式返回。)文章来源地址https://www.toymoban.com/news/detail-807218.html


依赖

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

这个包下

import org.apache.commons.collections4.CollectionUtils;

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

@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.空 安全检查指定的集合是否不为空(isNotEmpty)

 @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)类型中的集合-交集(intersection)

@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)类型中交集的补集(disjunction)

 @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)类型中差集(扣除)(subtract)

 @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("数据有不相同的");
        }
    }

9.getCardinalityMap(这个方法的作用是统计集合中每个元素出现的次数,并以映射的形式返回。)

@Test
    public void test1(){

        List<String> emptyList = new ArrayList<>();
        Map<String, Integer> emptyMap = CollectionUtils.getCardinalityMap(emptyList);
        System.out.println(emptyMap);  // 输出: {}


        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "banana");
        Map<String, Integer> countMap = CollectionUtils.getCardinalityMap(list);
        System.out.println(countMap);  // 输出: {apple=2, banana=3, orange=1}

        List<Integer> list1 = Arrays.asList(1, 2, 3, 3, 2, 1);
        Map<Integer, Integer> countMap2 = CollectionUtils.getCardinalityMap(list1);
        System.out.println(countMap2);  // 输出: {1=2, 2=2, 3=2}

    }

到了这里,关于apache下的CollectionUtils工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包