Apache CollectionUtils使用指南

对Apache commons-collections工具包做了简单使用介绍。

CollectionUtil

1. 使用指南

对集合判定‘空’的操作使用Apache的commons-collection的工具包。

1.1 声明引用

Collection接口使用

import org.apache.commons.collections.CollectionUtils;

Map接口使用

import org.apache.commons.collections.MapUtils;

1.2 判空

Object满足以下任意条件即为empty

  1. Object为null
  2. Object调用自身的isEmpty()方法返回true。

1.3 示例

以下测试代码运行Test没有问题。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.junit.Assert;
import org.junit.Test;

/**
 * 测试Empty
 *
 * @author bash
 * @version V1.0
 * @since 2015-11-12 10:50
 */
public class CollectionUtilSample {

    @Test
    public void testEmpty() {

        Map<String, String> emptyMap = new HashMap<>();
        List<String> emptyList = new ArrayList<>();
        Set<String> emptySet = new HashSet<>();

        Assert.assertTrue(MapUtils.isEmpty(emptyMap));
        Assert.assertTrue(CollectionUtils.isEmpty(emptyList));
        Assert.assertTrue(CollectionUtils.isEmpty(emptySet));
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏高性能服务器开发

(四)sds字符串

今天分析的是Redis源码中的字符串操作类的代码实现。有了上几次的分析经验,渐渐觉得我得换一种分析的方法,如果每个API都进行代码分析,有些功能性的重复,导致分...

428100
来自专栏码匠的流水账

java计算集合对称差

两个集合的对称差是只属于其中一个集合,而不属于另一个集合的元素组成的集合。 集合A和B的对称差通常表示为AΔB,对称差的符号在有些图论书籍中也使用符号⊕来表示。...

11630
来自专栏流媒体

Prototype模式简介

用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克...

8210
来自专栏mathor

LeetCode78.子集

 dfs经典题,对每一个数字都有一个boolean数组去对应,没选过就是false,选过就是true,在边界条件中进行枚举,将所有结果为true的下标对应的数值...

20510
来自专栏算法修养

Pat 1052 Linked List Sorting (25)

1052. Linked List Sorting (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000...

28760
来自专栏码匠的流水账

聊聊storm TridentWindowManager的pendingTriggers

本文主要研究一下storm TridentWindowManager的pendingTriggers

15530
来自专栏函数式编程语言及工具

泛函编程(25)-泛函数据类型-Monad-Applicative

    上两期我们讨论了Monad。我们说Monad是个最有概括性(抽象性)的泛函数据类型,它可以覆盖绝大多数数据类型。任何数据类型只要能实现flatMap+u...

25990
来自专栏猿人谷

顺序栈的实现和两栈共享空间

顺序栈的实现和两栈共享空间 一.顺序栈的实现        栈(stack)是限定仅在表尾进行插入或删除操作的线性表。我们把允许插入和删除的一端称为栈顶(t...

60180
来自专栏张俊红

数据结构-栈和队列

我们把类似于弹夹那种先进后出的数据结构称为栈,栈是限定仅在表尾进行插入和删除操作的线性表,我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的...

12920
来自专栏desperate633

LinkedList实现原理分析(Java源码剖析)

Java中的LinkedList类实现了List接口和Deque接口,是一种链表类型的数据结构,支持高效的插入和删除操作,同时也实现了Deque接口,使得Lin...

9430

扫码关注云+社区

领取腾讯云代金券