在Java泛型出现之前,数组只能包含指定类型的对象; 在自动包装机制出现之前,只有数组可以存储基本的数据类型。 也就是说,在类属和自动装箱机制出现之前,数组在Java中起着重要的作用。
数组也是最有效地存储和随机访问对象数组的方法。 但是,遗憾的是,如果列举——个固定数组长度的例子,在创建数组时指定长度为6,则只能存储6个元素。 如果wmdbl想放置第七个元素,则不能。
随着计算机硬件能力的提高,开发人员希望在存储一系列数据时使用ArrayList而不是数组。 虽然ArrayList的内部是通过数组实现的,但是与数组相比,可以自动增加容量,还有很多数组中没有的特性。 如果不使用数组,则不要使用数组,除非使用数组来改善性能问题。
01、制作数组
在Java数组之后,让我们明确定义——数组以存储固定长度的同类型元素。
示例如下所示。
与int ints1[]相比,int[] ints是一种较好的声明方式,int ints1[]风格来自于C/C语言,使C/C程序员能够快速理解Java语言。
数组的创建方法有两种,一种是用new关键字同时指定长度,用array[index]=value指定值,另一种方法是用{value1,value2, }的方法直接创建,同时指定值
最常见的APP包括(日期占位符字符串) :
02、小心length
使用List和Map时,为size ) )方法直接获取容器的实际大小(长度)。 数组也有获取大小(长度)的关键字length,但含义大不相同。 length只表示数组可以存储的元素的大小,而不是数组的实际大小。
示例如下所示。
ints的实际长度为2,但ints.length的长度为3——。 请注意。
03、Arrays工具类
Java的设计者费尽心思,为数组设计了专用的工具类——java.util.Arrays。 其中有几个常用的方法,特此介绍。
1 )排序) )
sort ) )方法用于对数组进行排序,数组的元素必须实现Comparable接口。 如果排序的元素不是字符串或基本数据类型,则必须积极实现Comparable接口。 基本数据类型和String本身实现了兼容接口。
示例如下所示。
sort ) )方法的排序结果是“二、沉、王、默”。
2 )二进制搜索() ) ) ) )。
binarySearch ) )方法返回数组的二分搜索(有返回值的后缀,如果找不到-1),因此必须在调用方法之前进行排序。
示例如下所示。
sort ) )方法的排序结果为[二、沈、王、默],因此Arrays.Binarysearch(strs,'二')返回下标的值0。
3 ) as列表) )。
asList )方法用于将数组转换为list(arraylist ),其源代码如下:
如何将List转换为数组? 通过List的toArray ()方法。 请参照以下示例体验数组定义方法不同引起的细微差异。
如果声明的数组的大小超过List的大小,则toArray ) )方法将对转换后的数组进行补数(null )。
4 )字串()
toString ) )方法用于以字符串格式输出数组,格式为“值1、值2、值3、”。 源代码如下所示。
作者:沉默王二链接: https://juejin.im/post/5dc 52714518825139 C52 D 59F来源:掘金的著作权归作者所有。 商业转载请联系作者获得许可。 非商业转载请注明出处。