Java数组的操作方法
在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数组的操作方法的更多相关文章
- Java数组操作方法收集(快速判断某个值在这个数组中)
		
Java数组操作最高效的方式是循环取值,如果转换成集合那么就会分配内存,效率不如前者,但是方法多,需要在性能调优上去权衡.切记:数组是数组,集合是集合. 下面是收集最常用的数组转成集合的操作方法: i ...
 - 第5章 Java数组
		
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
 - Java 数组
		
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
 - Java 数组基础
		
数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...
 - Java数组及其内存分配
		
几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...
 - [转载]Java数组扩容算法及Java对它的应用
		
原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...
 - Java数组技巧攻略
		
Java数组技巧攻略 0. 声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...
 - Java数组扩容算法及Java对它的应用
		
1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...
 - Java数组与vector互转
		
Java数组与vector互转 /* Object[] object1 = null ; //数组定义 Vector<Object> object2;//Vector定义 object2 ...
 
随机推荐
- Install Centrifugo and quick start
			
Install Centrifugo and quick start Go is a perfect language - it gives developers an opportunity to ...
 - MySQL备份常用命令总结
			
MySQL备份常用命令总结 1.数据库和数据全部备份 mysqldump -uroot -pPassword -hlocalhost databasename > test.sqlmysqldu ...
 - zabbix客户端一键安装脚本
			
#!/bin/bash #通过命令行参数指定if [ ! -z "$1" ];then ip=$1 echo "手动指定IP:$ip"else#根据默认路由获取 ...
 - css scale 元素放大缩小效果
			
<style> .trans-scale { width: 300px; height:300px; margin:100px auto; background:#99F; transit ...
 - Spring MVC中Session的正确用法之我见
			
Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...
 - Python 关于super 的 用法和原理(挖坑)
			
一.前言 Python 面向对象中有继承这个概念,初学时感觉很牛逼,里面也有个super类,经常见到,最近做一些题才算是理解了.特地记录分享给后来研究的小伙伴,毕竟现在小学生都开始学了(滑稽脸) 二. ...
 - UVA - 10285 Longest Run on a Snowboard (线性DP)
			
思路:d[x][y]表示以(x, y)作为起点能得到的最长递减序列,转移方程d[x][y] = max(d[px][py] + 1),此处(px, py)是它的相邻位置并且该位置的值小于(x, y)处 ...
 - mysql:联合查询
			
SELECT t1.name, t2.salary FROM employee AS t1 INNER JOIN info AS t2 ON t1.name = t2.name; 可以对数据表使用别 ...
 - 第1章 PCI总线的基本知识
			
PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器.但是PCI总线.系统总线和处理器体系结构之间依然存在着紧密的联系. PCI总线作为系 ...
 - R︱shiny实现交互式界面布置与搭建(案例讲解+学习笔记)
			
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 看了看往期的博客,这个话题竟然是第 ...