如何使用Arrays工具类操作数组
2019-08-16 11:53:32来源:博客园 阅读 ()
如何使用Arrays工具类操作数组
介绍
我们要先知道Arrays 是什么。 java.util.Arrays 类是 JDK 提供的一个工具类主要用来操作数组,比如数组的复制转换等各种方法,Arrays 的方法都是静态方法可以通过Arrays.方法名称直接调用。本文主要分析一些常用的方法。
sort方法
sort方法主要用于排序,有一系列的重载方法不光支持7种数据类型,同时也支持Object和Comparator(比较器)
int
定义一个int数组,具体代码如下
输出结果:
[1, 3, 4, 5, 9, 21, 34, 35, 44]
String
如一下代码:
输出结果:
[A, B, C, D, F, K, Y]
asList
asList的主要作用就是返回由指定数组支持的ArraryList列表,asList是返回一个ArraryList但是这个ArraryList是Arrays 内部的ArraryList所以我们只能对其进行查看或者修改,但是不能进行添加或者删除操作。
下面来看个例子:
使用asList转换成ArraryList后修改是可以运行的。再看下面的例子
新增一个元素会抛出UnsupportedOperationException异常
这是为什么呢。看一下源码。
在上面说到asList是返回一个自己的内部类,然后这个内部类的话并没有去实现add方法,在调用add方法的时候会调用父类AbstractList里面的方法,所以说才会抛出UnsupportedOperationException可以看下面的源码
那如果要对返回的数组进行操作的话要怎么获取一个可以Add的List,非常简单,看以下例子
引用数据类型和基本数据类型的区别
说到这个可能大多人都不知道。我们来看一个例子。
这个例子非常简单,就是把两个数组转换成List集合。那我们输出一下。
输出结果:
String :7
int :1
看到这里就不禁有疑问了。问什么我第二个int数组有有五个属性但是输出的数量却是1呢?
先去看一下asList的源码。注意到asList方法是以下定义:
List asList(T... a)
asList方法接收一个可变参数,并且这个可变参数类型是作为泛型的参数。那么在Java中基本数据类型不能作为泛型的参数,数组是引用数据类型所以数组是可以泛型化,所以使用了int[]作为参数类型,而不是用int作为参数类型上面的方法如果补全的话应该是以下。
List<int[]> intList = Arrays.asList(intData);
那这个问题如何解决呢?
将int替换成包装类型即可
binarySearch
binarySearch用来查找元素。看下方例子
输出结果:
3
返回所在的下标。
copyOf
看下方例子
将intData的数据复制到int2中参数要指定新数组的长度。
输出结果:
[1, 2, 3, 4]
toString
在上方使用的例子用也介绍了toString主要就是用来输出数组。
主要就是这几个方法常用。欢迎转发关注。
原文链接:https://www.cnblogs.com/Scramblecode/p/11301200.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Flink 如何分流数据 2020-06-11
- 老板让你抗住千万级流量,如何做架构设计? 2020-06-11
- 如何干掉 if else 策略+工厂 2020-06-11
- 类的继承,方法重新中修饰符如何定义 2020-06-10
- 如何写出高质量Spring 组件? 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash