您的位置:首页 > 其它

数组常用方法之复制、替换(填充)、比较、排序和搜索

2017-11-10 17:55 399 查看
一、数组的复制

Arrays.copyOf()方法是复制数组至指定长度。语法:int newArr[] = Arrays.copyOf(arr,3);

复制源数组中从下标0开始的3个元素到目的数组,从下标0的位置开始存储

import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
int a[]=
Arrays.copyOf(arr3,3);
for(int
i =0;i<a.length;i++){
System.out.println(a[i]);
}
}
}

结果是:1 2 3

二、数组的填充

Arrays.fill()方法。对数组中的元素进行替换。语法:Arrays.fill(arr,2,3,"bb"); 位置2包括位置3不包括替换值“bb”

有两种形式:一种形式是“fill(type []a,type b)”;表示把数组a的全部空间填充为b.

                       另一种形式是“fill(type a[],int key1,int key2,type b);” 表示把数组a从key1到key2的全部内容填充为b,但不包含key2的位置。

import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
Arrays.fill(arr3,1,3,0);
for(int
i =0;i<arr3.length;i++){
System.out.println(arr3[i]);
}
}
}

结果是:1 0 0 4 5 6

三、数组的比较

Arrays.equals()方法。

实现比较的函数为equals(数组1,数组2)。如果两个数组的数据元素数量相同,相同位置上的数据元素又相等,则这两个数组想等,函数返回boolean值true,否则不相等,函数返回boolean值false。

import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){
int arr3[] = {1,2,3,4,5,6};
int arr4[] = {1,2,3,4,5,6};

int arr1[] = {1,2,3,4,5,6};
int arr2[] = {1,2,3,4,5,7};

boolean a=
Arrays.equals(arr3,arr4);
boolean b=
Arrays.equals(arr1,arr2);

System.out.println(a);
System.out.println(b);

}
}

结果是:ture  false

四、数组的排序

Arrays.sort()方法。

数组的排序指依据数组中的数据类型升序排序。该方法有两种参数格式:一是“sort(数组引用)”;二是“sort(数组引用,参数1,参数2)”。前者表示对整个数组升序排序,后者表示对数组中的一个范围内的元素排序,参数1是起始位置,参数2是截止位置,但不包含该位置。

import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){

int arr1[] = {4,7,3,2,8,1};
int arr2[] = {4,7,3,2,8,1};

Arrays.sort(arr1);
Arrays.sort(arr2,0,4);

for (int
i=0;i<arr1.length;i++){
System.out.print(arr1[i]);
}
System.out.println(" ");

for (int
i=0;i<arr2.length;i++){
System.out.print(arr2[i]);
}
}
}

结果是:123478     234781

五、数组的查找

Arrays.binarySearch().

数组的查找是在指定数据类型的数组中查找一个具体的元素,如在int型数组中查找一个整数,如果该整数存在,则输出该整数在数组中的位置。需要注意的是数组中元素的位置是从0开始计数的。如果该整数不存在则输出一个负值。

import java.util.Arrays;
public class
TestArray{
public static
void main(String
args[]){

int arr1[] = {4,7,3,2,8,1};
int arr2[] = {4,7,3,2,8,1};

int a=
Arrays.binarySearch(arr1,3);
int b=
Arrays.binarySearch(arr2,9);

System.out.println(a);
System.out.println(b);
}
}

结果是:2 -7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: