Java基础类之ArrayUtils工具类详解

 更新时间:2021年09月23日 10:30:58   作者:CodingALife  
这篇文章主要介绍了java.ArrayDeque类使用方法,java.ArrayDeque类提供了可调整大小的阵列,并实现了Deque接口,感兴趣的小伙伴们可以参考一下

1、引入pom依赖

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
</dependency>

2、ArrayUtils中的方法:

1.add():将给定的数据添加到指定的数组中,返回一个新的数组。

2.addAll():合并两个数组。

3.contains():检查该数据在该数组中是否存在,返回一个boolean值。

4.getLength():返回该数组长度。

5.indexOf():从数组的第一位开始查询该数组中是否有指定的数值,存在返回index的数值,否则返回-1。

6.lastIndexOf():从数组的最后一位开始往前查询该数组中是否有指定的数值,存在返回index的数值,否则返回-1。

7.Insert():向指定的位置往该数组添加指定的元素,返回一个新的数组。

8.isEmpty():判断该数组是否为空,返回一个boolean值。

9.isNotEmpty():判断该数组是否为空,而不是null。

10.isSameLength():判断两个数组的长度是否一样,当数组为空视长度为0。返回一个boolean值。

11.isSameType():判断两个数组的类型是否一样,返回一个boolean值。

12.isSorted():判断该数组是否按照自然排列顺序排序,返回一个boolean值。

13.nullToEmpty():

14.remove():删除该数组指定位置上的元素,返回一个新的数组。

15.removeAll():删除指定位置上的元素,返回一个新的数组。

16.removeAllOccurences():从该数组中删除指定的元素,返回一个新的数组。

17.removeElement():从该数组中删除第一次出现的指定元素,返回一个新的数组。

18.removeElements():从该数组中删除指定数量的元素,返回一个新的数组。

19.reverse():数组反转。也可以指定开始和结束的反转位置。

20.subarray():截取数组(包头不包尾),返回一个新的数组。

21.swap():指定该数组的两个位置的元素交换或者指定两个位置后加len的长度元素进行交换。

22.toMap():将数组转换成Map,返回一个map的Object的集合。

23.toObject():将原始数据类型的数组转换成对象类型数组。

24.toPrimitive():将对象类型数组转换成原始数据类型数组。

25.toString():将数组输出为Stirng,返回一个字符串。

26.toStringArray():将Object数组转换为String数组类型。

3、举例

public class ArraryTest { 
    public static void main(String[] args) {
        int []array={4,5,9};
        //add()添加方法结果为:{4,5,9,6}
        int[] newArray=ArrayUtils.add(array, 6);
        System.out.println(ArrayUtils.toString(newArray));
        //addAll()方法,结果为:{4,5,9,5,9,6,7}
        int []arrayAll={4,5,9};
        int[] newArrayAll=ArrayUtils.addAll(arrayAll,5,9,6,7);
        System.out.println(ArrayUtils.toString(newArrayAll));
        //contains():结果为:true、false
        System.out.println(ArrayUtils.contains(arrayAll, 9));
        System.out.println(ArrayUtils.contains(arrayAll, 3));
        //getLength():结果为3
        System.out.println(ArrayUtils.getLength(arrayAll));
        //indexOf():2。
        //indexOf(newArrayAll, 9,3):3是指定从哪一位开始查找,返回结果4
        System.out.println(ArrayUtils.indexOf(newArrayAll, 9));
        System.out.println(ArrayUtils.indexOf(newArrayAll, 9,3));
        //lastIndexOf()返回结果是4、2
        System.out.println(ArrayUtils.lastIndexOf(newArrayAll, 9));
        System.out.println(ArrayUtils.lastIndexOf(newArrayAll, 9,3));
        //insert():结果为{4,5,3,9}
        int [] arr=ArrayUtils.insert(2, arrayAll, 3);
        System.out.println("insert"+ArrayUtils.toString(arr));
        //isEmpty():结果为false、true
        int []a=null;
        System.out.println(ArrayUtils.isEmpty(arr));
        System.out.println(ArrayUtils.isEmpty(a));
        //isNotEmpty():结果是false、true
        System.out.println("isNotEmpty:"+ArrayUtils.isNotEmpty(a));
        System.out.println("isNotEmpty:"+ArrayUtils.isNotEmpty(arr));    
        //isSorted():结果为false和true
        int[]sort1={5,6,9,1};
        int [] sort2={1,6,8,9};
        System.out.println("sort1:"+ArrayUtils.isSorted(sort1));
        System.out.println("sort2:"+ArrayUtils.isSorted(sort2));
        //remove():返回结果为{5,6,1}
        int [] newRe=ArrayUtils.remove(sort1, 2);
        for(int nr:newRe){
            System.out.print(nr);
        }
        //reverse():返回new reverse:{1,9,6,5}
        ArrayUtils.reverse(sort1);
        System.out.println("new reverse:"+ArrayUtils.toString(sort1));
        //subarray():返回结果subarray:{3,9}
        int[] sub={7,5,3,9,8,4};
        int [] newsub=ArrayUtils.subarray(sub, 2, 4);
        System.out.println("subarray:"+ArrayUtils.toString(newsub));
        
        Object[] subs={7,5,3,9,8,4};
        Map<Object, Object>map=ArrayUtils.toMap(subs);    
    }
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • java并发编程中的SynchronousQueue实现原理解析

    java并发编程中的SynchronousQueue实现原理解析

    这篇文章主要介绍了java并发编程中的SynchronousQueue实现原理解析,SynchronousQueue是一个比较特别的队列,此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理,需要的朋友可以参考下
    2023-12-12
  • Java并发编程总结——慎用CAS详解

    Java并发编程总结——慎用CAS详解

    下面小编就为大家带来一篇Java并发编程总结——慎用CAS详解。小编觉得挺不错的, 现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • idea中如何过滤某些文件不提交的方法实现

    idea中如何过滤某些文件不提交的方法实现

    本文主要介绍了idea中如何过滤某些文件不提交,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Java实现图片上传到服务器并把上传的图片读取出来

    Java实现图片上传到服务器并把上传的图片读取出来

    在各大网站上都可以实现上传头像功能,可以选择自己喜欢的图片做头像,从本地上传,今天小编给大家分享Java实现图片上传到服务器并把上传的图片读取出来,需要的朋友参考下
    2017-02-02
  • SpringBoot实现读取YML,yaml,properties文件

    SpringBoot实现读取YML,yaml,properties文件

    yml,yaml,properties三种文件都是用来存放配置的文件,一些静态数据,配置的数据都会存放到里边。本文主要为大家整理了SpringBoot实现读取YML,yaml,properties文件的方法,需要的可以参考一下
    2023-04-04
  • 用Java连接sqlserver数据库时候几个jar包的区别分析

    用Java连接sqlserver数据库时候几个jar包的区别分析

    这篇文章主要介绍了用Java连接sqlserver数据库时候几个jar包的区别分析,需要的朋友可以参考下
    2014-10-10
  • 如何动态替换Spring容器中的Bean

    如何动态替换Spring容器中的Bean

    这篇文章主要介绍了如何动态替换Spring容器中的Bean,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • SpringBoot实现Excel读取的实例教程

    SpringBoot实现Excel读取的实例教程

    这篇文章主要给大家介绍了关于SpringBoot实现Excel读取的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringMVC实现文件上传和下载功能

    SpringMVC实现文件上传和下载功能

    这篇文章主要为大家详细介绍了SpringMVC实现文件上传和下载功能 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • java实现图书管理系统

    java实现图书管理系统

    这篇文章主要为大家详细介绍了java实现图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03

最新评论