`
langgufu
  • 浏览: 2309000 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache commons lang3包ArrayUtils工具使用

阅读更多

ArrayUtils 拥有以下方法:

toString
将一个数组转换成String,用于打印数组
isEquals
判断两个数组是否相等,采用EqualsBuilder进行判断
toMap
将一个数组转换成Map,如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value
clone
拷贝数组
subarray
截取子数组
isSameLength
判断两个数组长度是否相等
getLength
获得数组的长度
isSameType
判段两个数组的类型是否相同
reverse
数组反转
indexOf
查询某个Object在数组中的位置,可以指定起始搜索位置
lastIndexOf
反向查询某个Object在数组中的位置,可以指定起始搜索位置
contains
查询某个Object是否在数组中
toObject
将基本数据类型转换成外包型数据
isEmpty
判断数组是否为空(null和length=0的时候都为空)
addAll
合并两个数组
add
添加一个数据到数组
remove
删除数组中某个位置上的数据
removeElement
删除数组中某个对象(从正序开始搜索,删除第一个)
eg:
        // 1.打印数组
        ArrayUtils.toString(new int[] { 1423 });// {1,4,2,3}
        ArrayUtils.toString(new Integer[] { 1423 });// {1,4,2,3}
        ArrayUtils.toString(null"I'm nothing!");// I'm nothing!

        
// 2.判断两个数组是否相等,采用EqualsBuilder进行判断
        
// 只有当两个数组的数据类型,长度,数值顺序都相同的时候,该方法才会返回True
        
// 2.1 两个数组完全相同
        ArrayUtils.isEquals(new int[] { 123 }, new int[] { 123 });// true
        
// 2.2 数据类型以及长度相同,但各个Index上的数据不是一一对应
        ArrayUtils.isEquals(new int[] { 132 }, new int[] { 123 });//false
        
// 2.3 数组的长度不一致
        ArrayUtils.isEquals(new int[] { 1233 }, new int[] { 123 });// false
        
// 2.4 不同的数据类型
        ArrayUtils.isEquals(new int[] { 123 }, new long[] { 123 });// false
        ArrayUtils.isEquals(new Object[] { 123 }, new Object[] { 1, (long23 });// false
        
// 2.5 Null处理,如果输入的两个数组都为null时候则返回true
        ArrayUtils.isEquals(new int[] { 123 }, null);// false
        ArrayUtils.isEquals(nullnull);// true

        
// 3.将一个数组转换成Map
        
// 如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value
        
// 对于Object[]数组里的元素必须是instanceof Object[]或者Entry,即不支持基本数据类型数组
        
// 如:ArrayUtils.toMap(new Object[]{new int[]{1,2},new int[]{3,4}})会出异常
        ArrayUtils.toMap(new Object[] { new Object[] { 12 }, new Object[] { 34 } });// {1=2,
        
// 3=4}
        ArrayUtils.toMap(new Integer[][] { new Integer[] { 12 }, new Integer[] { 34 } });// {1=2,
        
// 3=4}

        
// 4.拷贝数组
        ArrayUtils.clone(new int[] { 324 });// {3,2,4}

        
// 5.截取数组
        ArrayUtils.subarray(new int[] { 34156 }, 24);// {1,5}
        
// 起始index为2(即第三个数据)结束index为4的数组
        ArrayUtils.subarray(new int[] { 34156 }, 210);// {1,5,6}
        
// 如果endIndex大于数组的长度,则取beginIndex之后的所有数据

        
// 6.判断两个数组的长度是否相等
        ArrayUtils.isSameLength(new Integer[] { 135 }, new Long[] { 2L8L10L });// true

        
// 7.获得数组的长度
        ArrayUtils.getLength(new long[] { 1233 });// 3

        
// 8.判段两个数组的类型是否相同
        ArrayUtils.isSameType(new long[] { 13 }, new long[] { 856 });// true
        ArrayUtils.isSameType(new int[] { 13 }, new long[] { 856 });// false

        
// 9.数组反转
        int[] array = new int[] { 125 };
        ArrayUtils.reverse(array);
// {5,2,1}

        
// 10.查询某个Object在数组中的位置,可以指定起始搜索位置,找不到返回-1
        
// 10.1 从正序开始搜索,搜到就返回当前的index否则返回-1
        ArrayUtils.indexOf(new int[] { 136 }, 6);// 2
        ArrayUtils.indexOf(new int[] { 136 }, 2);// -1
        
// 10.2 从逆序开始搜索,搜到就返回当前的index否则返回-1
        ArrayUtils.lastIndexOf(new int[] { 136 }, 6);// 2

        
// 11.查询某个Object是否在数组中
        ArrayUtils.contains(new int[] { 312 }, 1);// true
        
// 对于Object数据是调用该Object.equals方法进行判断
        ArrayUtils.contains(new Object[] { 312 }, 1L);// false

        
// 12.基本数据类型数组与外包型数据类型数组互转
        ArrayUtils.toObject(new int[] { 12 });// new Integer[]{Integer,Integer}
        ArrayUtils.toPrimitive(new Integer[] { new Integer(1), new Integer(2) });// new int[]{1,2}

        
// 13.判断数组是否为空(null和length=0的时候都为空)
        ArrayUtils.isEmpty(new int[0]);// true
        ArrayUtils.isEmpty(new Object[] { null });// false

        
// 14.合并两个数组
        ArrayUtils.addAll(new int[] { 135 }, new int[] { 24 });// {1,3,5,2,4}

        
// 15.添加一个数据到数组
        ArrayUtils.add(new int[] { 135 }, 4);// {1,3,5,4}

        
// 16.删除数组中某个位置上的数据
        ArrayUtils.remove(new int[] { 135 }, 1);// {1,5}

        
// 17.删除数组中某个对象(从正序开始搜索,删除第一个)
        ArrayUtils.removeElement(new int[] { 135 }, 3);// {1,5}
分享到:
评论

相关推荐

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    org.apache.commons.lang包

    标题中的"org.apache.commons.lang包"指的是该库的主要命名空间,它包含了各种实用工具类,如字符串处理、日期时间操作、类型转换等。 在描述中提到,解压缩Apache Commons Lang资源包后,我们可以获取到几个关键...

    org.apache.commons.lang jar包下载

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    Java字符串加密使用的一个jar包 commons-lang3-3.1.jar下载

    Java字符串加密使用到的一个jar包 commons-lang3-3.1.jar下载 jar包含具体的类有 org.apache.commons.lang3.StringUtils org.apache.commons.lang3.ArrayUtils.class org.apache.commons.lang3.BitField.class org....

    org.apache.commons.lang jar下载

    Apache Commons Lang 是一个Java工具包,它提供了对Java语言核心类库的扩展,以支持一些高级功能和实用方法。这个`org.apache.commons.lang.jar`文件是该库的一个版本,包含了Lang项目的所有包,使得开发者在处理...

    apache commons-lang简介

    Apache Commons Lang是Java开发中的一个非常重要的开源工具库,它提供了一系列实用的工具类,极大地丰富了Java的标准库,为开发者提供了更便捷、高效的方法来处理常见的编程任务。Lang包主要包含了对字符串操作、...

    commons-lang.jar

    commons-lang.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache....

    commons-lang3-3.0-bin.zip

    "commons-lang3-3.0-bin.zip" 是 Apache Commons Lang 的第 3.0 版本的二进制分发包。这个压缩包包含了该库的可执行 JAR 文件和其他相关资源,方便开发者在不同的操作系统上,如 Windows 和 Linux,免费下载和使用。...

    apache commons-lang3.4最新官方jar包文档

    这里的"apache commons-lang3.4最新官方jar包文档"指的是Apache Commons Lang项目在版本3.4中的核心库jar文件及其相关的文档资料。 Apache Commons Lang 3.4包含了以下主要知识点: 1. **字符串处理**:Lang提供了...

    commons-lang-2.6jar包

    "commons-lang-2.6.jar" 是Apache Commons Lang项目的版本2.6的Java类库,这个库提供了大量的实用工具类,极大地丰富了Java标准库的功能。Apache Commons Lang是Apache软件基金会开发的一个开源项目,旨在为Java开发...

    com.springsource.org.apache.commons.lang

    标题 "com.springsource.org.apache.commons.lang" 指向的是Apache Commons Lang库的一个特定版本,该库是Apache软件基金会开发的一个Java工具类集合。Apache Commons Lang是Java开发中常用的辅助库,提供了大量用于...

    Apache Commons Lang 3.6 API 帮助文档,英文

    `commons-lang3-3.6.jar`是编译后的二进制库文件,可以直接引入到项目中使用,为项目提供Apache Commons Lang 3.6的功能。 总的来说,Apache Commons Lang 3.6 是一个强大且实用的库,能够提高Java开发效率,减少...

    Apache Commons工具集

    Apache Commons是Java开发中不可或缺的一部分,它提供了一系列实用的工具类和组件,极大地丰富了Java标准库的功能。这个工具集包含了许多模块,每个模块都专注于特定的编程任务,旨在简化和优化开发流程。以下是一些...

    Apache Commons Lang包源代码

    Apache Commons Lang包源代码是Java开发中的一个关键资源,它为Java程序员提供了许多实用的工具类,涵盖了字符串处理、日期时间、数学运算、反射等多个领域。这个开源项目由Apache Software Foundation维护,旨在...

    commons-lang-2.4.rar代码及jar文件

    Apache Commons Lang是Java编程语言中的一个实用工具库,它提供了许多在标准Java API中未涵盖的高级字符串和对象处理功能。这个"commons-lang-2.4.rar"压缩包包含了两个子文件,分别是"commons-lang-2.4-bin.zip"和...

    Apache Commons 官方最近所有的jar包

    Apache Commons 是一个由 Apache 软件基金会维护的开源项目集合,它提供了许多Java实用工具类,以增强Java标准库的功能。这些jar包是开发者在处理常见编程任务时的得力助手,涵盖范围广泛,包括数据结构、网络通信、...

    commons-lang3-3.0.js

    Apache Commons Lang 是一个由Apache软件基金会开发的Java库,它的核心部分是`commons-lang3-3.0.js`,这个JavaScript版本的工具集是为了在Web环境中提供与Java Commons Lang相似的功能。这个库包含了大量用于处理...

    commons+lang(API)

    Apache Commons Lang 是一个Java工具包,它为Java SE平台提供了许多实用功能,极大地扩展了Java标准库的功能。这个API包含了`org.apache.commons.lang`包及其子包中的所有组件,为开发者提供了一系列强大的类和方法...

    commons-lang3-3.9-tar-压缩包.zip

    Apache Commons Lang是Apache软件基金会开发的一个Java类库,它提供了许多在Java标准库中未包含的实用工具类。"commons-lang3-3.9-tar...因此,Apache Commons Lang3是Java开发者的必备工具之一,值得深入学习和掌握。

    commons-lang3-3.9-bin.tar.gz

    综上所述,"commons-lang3-3.9-bin.tar.gz"包含了Apache Commons Lang项目的一个版本,该库提供了一系列对Java开发者非常有用的工具类。在构建和运行sqoop1.4.7这样的大数据工具时,这些工具类可以极大地提升开发...

Global site tag (gtag.js) - Google Analytics