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 ...
随机推荐
- 异步任务利器Celery(一)介绍
django项目开发中遇到过一些问题,发送请求后服务器要进行一系列耗时非常长的操作,用户要等待很久的时间.可不可以立刻对用户返回响应,然后在后台运行那些操作呢? crontab定时任务很难达到这样的要 ...
- 在Windows下为PHP5.5安装redis扩展
使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本 根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2.5-5.5-ts-vc11-x86.zip和ph ...
- 关于echarts 报错 初始化对象未定义
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- mybatis自动生成mapper,dao映射文件
利用Mybatis-Generator来帮我们自动生成mapper.xml文件,dao文件,model文件. 1.所需文件 关于Mybatis-Generator的下载可以到这个地址:https:// ...
- 802.1X和NAP整合实验手册
实验描述 公司内部有多个部门,创建了域的架构,并搭建了DHCP服务器和Radius服务器,要求每个部门都独享一个网段,实现每位用户插上网线后,跳出窗体进行身份验证,如果用户通过验证,根据用户所在的部门 ...
- Java 面向对象三大特征之一: 多态
多态与类型转换 子类重写父类方法 1)位置:子类和父类中有同名的方法 2)方法名相同,返回类型和修饰符相同,参数列表相同 方法体不同 多态的优势和应用场合 多态:同一个引用类型,使用不同的 ...
- 巧用Dictionary<TKey,TValue>,完成客户需求
前几天与客户沟通一个项目,客户对其中某个模块提了一个需求. 把从数据库中取出的对物品的统计重新拆分重新统计.鉴于用文字不能清除的表达需求,我将该需求画出来,便于理解. 需求如下图: 就是A,B,C D ...
- mac 上格式化磁盘出现MediaKit报告设备上的空间不足以执行请求的解决办法
1.问题描述: 我使用是一个2T移动硬盘,分了5个区 2.分析原因:因为mac OSX的日志式格式需要有EFI分区进行引导,而我的移动硬盘是没有EFI分区的,这样的话就会出现问题: 3.解决办法: 1 ...
- mysql 学习心得3
1 /0和 %0 都会显示null 2比较运算符大部分和c一样 ==在mysql是= <>代表不等于 between 指定范围内 in指定几何 isnull 判断是否为null :is ...
- 2_成员函数(Member Functions)
成员函数以定从属于类,不能独立存在,这是它与普通函数的重要区别.所以我们在类定义体外定义成员函数的时候,必须在函数名之前冠以类名,如Date::isLeapYear().但如果在类定义体内定义成员函数 ...