在JDKAPI中,我们可以看到java.util.Arrays类。因为是在util工具包下。所以,方法都是静态的

看看里面有哪些方法是我们平时工作中会使用到的(以 int[] 举例)?

1)binarySearch()查询元素key在 int[]数组的下标位置,返回值是int

2)asList()返回一个List列表

这里需要解释下asList()方法,在Arrays.asList中,该方法接受一个变长参数,一般可看做数组参数。

但是因为int[] 本身就是一个类型,所以arr变量作为参数传递时,编译器认为只传了一个变量,这个变量的类型是int数组,所以size为1,相当于是List中数组的个数。基本类型是不能作为泛型的参数,按道理应该使用包装类型,但这里却没有报错,因为数组是可以泛型化的,所以转换后在list中就有一个类型为int的数组。

如果我们传入一个Integer包装类,这样就可以遍历出数组的每个元素。asList方法返回的是一个List列表。所以,可以调用contains()方法来判断元素是否在数组中。

3)copyOf()

我们可以看到copyOf()方法,传入arr数组,和返回数组的长度为2。在这里我们直接调用toString()方法。这样就不需要通过for()循环遍历出数组每个元素。

4)equals() 这个方法,是重写了Object里的方法,比较的是内容是否一致。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。

看看源代码

这是我们测试的用例。

5) sort()

排序。按照从小到大的顺序排序

6)fill()方法。将指定的val值填充到int数组里。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

讲完了,Arrays里大致的方法。还有一些相关类中也有提供操作数组的方法。例如System类

1) 

arraycopy()方法是数组的拷贝操作。

2)逆向输出一个数组。自定义方法或者采用Apache Commons Lang Library类库里的ArrayUtils类

--------------------------------------------------------------------------------------------------------------

还有ArrayUtils里的方法没列举。我在这里列举的都是一些方法的基本操作,有错误的地方,多多指正,共同进步。谢谢。

Java数组的操作方法的更多相关文章

  1. Java数组操作方法收集(快速判断某个值在这个数组中)

    Java数组操作最高效的方式是循环取值,如果转换成集合那么就会分配内存,效率不如前者,但是方法多,需要在性能调优上去权衡.切记:数组是数组,集合是集合. 下面是收集最常用的数组转成集合的操作方法: i ...

  2. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

  3. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  4. Java 数组基础

    数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...

  5. Java数组及其内存分配

    几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...

  6. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  7. Java数组技巧攻略

      Java数组技巧攻略 0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...

  8. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  9. Java数组与vector互转

    Java数组与vector互转 /* Object[] object1 = null ; //数组定义 Vector<Object> object2;//Vector定义 object2 ...

随机推荐

  1. php get_called_class()函数与get_class()函数的区别

    get_class (): 获取当前调用方法的类名: get_called_class():获取静态绑定后的类名: class Foo{ public function test(){ var_dum ...

  2. shell编程之环境变量配置文件(4)

    1 source命令 修改了配置文件,并让它立刻生效,而不用重新登录 source 配置文件 或者 .配置文件 2 环境变量配置文件简介 PATH HISTSIZE PS1 HOSTNAME等环境变量 ...

  3. php读取access数据库

    <?php //读取mdb数据库 $conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsof ...

  4. [bzoj4552][Tjoi2016&Heoi2016]排序-二分+线段树

    Brief Description DZY有一个数列a[1..n],它是1∼n这n个正整数的一个排列. 现在他想支持两种操作: 0, l, r: 将a[l..r]原地升序排序. 1, l, r: 将a ...

  5. 奥酷流媒体服务系统AMS5.0

      2016年6月29日,北极星通对外发布AMS5.0版本,AMS是北极星通公司独立研发的高性能流媒体服务系统软件,可广泛应用于视频直播,视频点播,视频转码,视频录播等场合. AMS5.0增加功能: ...

  6. 请小心使用 ng-repeat 中的 $index

    自己自学的时候,遇到$index不知道它是如何使用的,所以上网搜了一下,发现了这个关于使用$index可能会出现的一个小BUG,和大家分享一下 PS:我是小白,欢迎指正,非常感谢! 以下是全文: &q ...

  7. Golang里实现Http服务器并解析header参数和表单参数

    在http服务里,header参数和表单参数是经常使用到的,本文主要是练习在Go语言里,如何解析Http请求的header里的参数和表单参数,具体代码如下: package server import ...

  8. cache缓存的BUG

    坑: 1.在使用这个模版代码开发的时候,当我们改变了数据库表的设置的时候,我们都要把本地的cache缓存文件删除一下. 如果不删除的话,当我们改变数据库设置的之后,程序读取数据是从本地的缓存文件里面读 ...

  9. PHPstudy端口占用的问题

    phpStudy很多同学下好了 用localhost可能不能读取到WWW目录下的文件,这个是因为端口被占用,打开其他选项菜单 =>打开配置文件=>httpd-conf=>修改端口号如 ...

  10. Redis笔记3-redis事务

    Redis的事务机制允许同时执行多条指令,它是原子性操作,事务中的命令要么全部执行,要么全部不执行,另外,事务中的所有指令都会被序列化,而且其开始执行过程中,不回被即时过来的指令所打断,其需要经历三个 ...