数组
数组的初始化
静态初始化
静态初始化是指由程序员在初始化数组时为数组每个元素赋值,由系统决定数组的长度。
数组的静态初始化有两种方式,具体示例如下:
array = new int[ ]{1,2,3,4,5};
int[ ] array = {1,2,3,4,5};
上面的2种方式都可以实现数组的静态初始化,其中花括号包含数组元素值,元素值之间用逗号“,”分隔。此处注意只有在定义数组的同时执行数组初始化才支持使用简化的静态初始化。为了简便,建议采用第二种方式。
动态初始化
动态初始化是指由程序员在初始化数组时指定数组的长度,由系统为数组元素分配初始值。
数组动态初始化,具体示例如下:
int[ ] array = new int[10]; // 动态初始化数组
数组的其他一些实用性较强的方法
数组元素的复制方法
怎么做到将一个数组内的一些或者全部元素复制到另外一个数组里呢?下面介绍了2种基本的常用方法:
1.直接用for语句进行赋值:举个例子:
int []arr1={1,2,3,4};
int []arr2=new int[4];
for(int i=0;i<arr1.length;i++){
arr2[i]=arr1[i];
}
2.使用Array.copyOf()函数:举个例子:
int []arr1={1,2,3,4};
int []arr2=Array.copyOf(arr1,arr1.length);
如上这样就可以直接实现数组arr1内的内容全部复制到arr2中了。
3.只复制其中一部分元素:举个例子:
int []arr1={1,2,3,4,5,6,7};
int []arr2=Array.copyOf(arr1,2,5);
该代码将arr1中索引值为2(包含2)到5(不包含5)的元素复制到了arr2中。
判断两个数组是否相等
判断两个数组是否相等除了用自己平常能想象到用一个for语句来进行判断,还可以用boolean equals(int []arr1,int []arr2)来判断。举个例子:
int []arr1={1,2,3,4};
int []arr2={1,2,3};
boolean arr3=Array.equals(arr1,arr2);
如果数组arr1是等于arr2,则返回true,当然上面这个两者是不相等的,所以返回的是false。
对数组的升序排序方法
对于排序这个问题大家不难想象到有很多排序的方法,比如冒泡排序、快速排序、插入排序等等。现在来介绍一个Java有的一个升序排序的函数:sort()
int arr1={3,1,5,6,28,8};
Array.sort(arr1);
如上,直接调用Array.sort()即可实现对arr1的升序排序。当然也可以只对数组中某一段进行升序排序,举个例子:
int arr1={1,5,2,6,8,4};
Array.sort(arr1,2,5);
这样即可实现数组索引为2(包含2)到5(不包含5)的元素的顺序排序。