`
xfbbsnet
  • 浏览: 93628 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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[] { 1, 4, 2, 3 });// {1,4,2,3}
        ArrayUtils.toString(new Integer[] { 1, 4, 2, 3 });// {1,4,2,3}
        ArrayUtils.toString(null, "I'm nothing!");// I'm nothing!

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

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

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

        // 6.判断两个数组的长度是否相等
        ArrayUtils.isSameLength(new Integer[] { 1, 3, 5 }, new Long[] { 2L, 8L, 10L });// true

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

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

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

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

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

        // 12.基本数据类型数组与外包型数据类型数组互转
        ArrayUtils.toObject(new int[] { 1, 2 });// 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[] { 1, 3, 5 }, new int[] { 2, 4 });// {1,3,5,2,4}

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

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

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

相关推荐

    commons组件常用jar包及使用文档说明

    在"commons组件常用jar包及使用文档说明"中,我们可以找到以下一些关键知识点: 1. **Commons IO**: 这个组件提供了大量的I/O操作工具类,包括文件读写、流操作、字符编码转换、文件比较等。例如,`FileUtils` 类...

    commons-lang3-3.12.0.7z

    2. **ArrayUtils**:提供了数组操作的辅助方法,如添加、删除、复制和比较。 3. **ClassUtils**:处理类和类加载器的工具,如获取类的全名、比较类等。 4. **DateUtils**:提供日期和时间的便利操作,如格式化、解析...

    Java打印条码,使用佳博条码打印机

    command = ArrayUtils.addAll(command, code128.getBytes()); // 将条码数据添加到指令中 serialPort.getOutputStream().write(command); ``` 此外,条码机中文编程手册.pdf会提供更详细的编程指南,包括如何设置...

    commons+lang(API)

    阅读文档,了解每个类和方法的详细说明,可以帮助你更好地利用这些工具类。 总结来说,Apache Commons Lang API 是Java开发者的得力助手,它提供的各种工具类覆盖了开发过程中常见的需求,提高了开发效率和代码质量...

    java代码-定义一个一维数组,求出数组的最大值,最小值,平均值

    `README.txt`文件可能包含了关于这个代码的简单说明或使用指南,比如如何编译和运行`main.java`文件,或者对`ArrayUtils`类的进一步解释。 总之,这个Java代码示例展示了如何在数组操作中找到最大值、最小值和平均...

    java代码-定义一个一维数组,求出数组的最大值,最小值,平均值。

    这里我们有两个文件:`main.java`,这是我们的源代码文件,以及`README.txt`,通常用于存放项目的简短说明或指南。 首先,让我们来看一下如何定义一个一维数组。在Java中,数组是一种可以存储同类型数据集合的数据...

    commons-lang3-3.7

    2. **数组操作**:`ArrayUtils` 类提供了对数组的各种操作,如添加、删除、复制、反转、比较等,还有对多维数组的支持。此外,`ObjectUtils` 可以处理对象数组的空值问题。 3. **日期时间处理**:`DateUtils` 提供...

    commons-lang-1.0.1.tar.gz

    - 数组工具类:`ArrayUtils`,提供了数组的扩展操作,如添加、删除、填充等。 - 集合工具类:`CollectionUtils`,对Java集合框架的增强,如合并、过滤、映射等操作。 - 日期时间工具类:`DateUtils`,方便处理日期和...

    java代码-1.定义一个一维数组,求出数组的最大值,最小值,平均值。

    在Java编程语言中,处理数组是一项基本操作。...而`README.txt`文件可能包含了关于如何运行和测试这个程序的说明。在实际开发过程中,遵循良好的编程实践,如注释、命名规范和错误处理,可以使代码更易于理解和维护。

    Java常用类库Apache Commons工具类说明及使用实例详解

    12.Lang:提供了Java基本对象方法的工具类包,如StringUtils、ArrayUtils等等。例如: ```java import org.apache.commons.lang3.StringUtils; String str = "Hello, World!"; String upperCaseStr = StringUtils....

    图文介绍c#封装方法

    `ArrayUtils` 类封装了一个静态方法 `FindMax`,用于查找数组中的最大值。由于这是一个通用功能,不涉及对象状态,因此使用静态方法实现,方便直接调用。 3. 输出字符串数组中最长的字符串: ```csharp public ...

    java开发,30个常用工具类总结,全部来自项目实践中用到的工具类

    以下是对标题和描述中提到的几个常用工具类的详细说明: 1. **DateUtils**: `java.util.Date` 和 `java.time` 包含日期和时间的操作,但DateUtils通常是Apache Commons Lang库中的一个工具类,提供更方便的日期处理...

    java代码-46赖赵强 求数组的最大值,最小值,平均值

    项目中的`main.java`文件可能就是实现了这些功能的Java源代码,而`README.txt`可能是关于项目的一些说明,包括如何运行代码、项目的目的等信息。通过这个项目,开发者可以学习到如何在实际编程中处理数组数据,以及...

    Android常用的工具类

    以下是一些重要的Android工具类的详细说明: 1. **HttpUtils**: 这是一个HTTP网络工具类,它包含了GET和POST请求的方法。`httpGet()`方法用于发起GET请求,`httpPost()`用于POST请求,两者都可以设置HTTP参数,如...

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

    压缩包内的`Apache Commons Lang 3.6 API.CHM`是帮助文档,其中包含了每个类、接口和方法的详细说明,包括参数、返回值、异常和示例代码。这对于开发过程中快速查询和理解API非常有帮助。 `commons-lang3-3.6-...

    java常用工具类汇总

    它通常包括每个类的方法说明、参数描述、返回值及可能抛出的异常,帮助开发者快速上手并避免错误。 总的来说,"Java常用工具类汇总"是一个全面的辅助开发工具,可以帮助开发者在处理日常编程任务时减少重复工作,...

    commons-lang-2.6.jar配套文档

    `ArrayUtils` 提供了对数组的扩展操作,包括添加、删除、转换等;`DateUtils` 则帮助我们更灵活地处理日期和时间。 接下来,`commons-lang-2.6-javadoc.jar` 文件是该库的JavaDoc文档,它是开发者的重要参考资料。...

Global site tag (gtag.js) - Google Analytics