Arrays工具类的使用
Array工具类:用来操作数组(比如排序和搜索)的各种方法
常用方法:
使用二分法查找
Arrays.binarySearch(int[] array,int value);
数组内容转成字符串的形式输出
Array.toString(int[] array);
数组排序
Arrays.sort(int[] array);
复制指定的数组
Arrays.copyOf(int[] array,int length);
Arrays.copyOf(int[] arrray,int from,int to);
System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length);
判断两个数组是否相等
Arrays.equals();
使用指定元素填充数组
Arrays.fill();
import java.util.Arrays;
public class test{
public static void main(String[] args){
int[] num = {45,65,76,87,98,90};
//二分查找
int index = Arrays.binarySearch(num,98);
System.out.println("找到的下标是"+index);
//输出数组
for(int n:num){
System.out.println(n);
}
//在测试输出数据时,可以使用toString方法,更加方便
System.out.println(Arrays.toString(num));
//排序
int[] num2 = {10,32,11,44,54,32,15};
Arrays.sort(num2);//使用的是快速排序
System.out.println(Arrays.toString(num2));
//复制指定的数组
//num2中有7个元素,下面这行代表创建了一个新的数组,长度是10,将num2的7位复制到num3中
int[] num3 = Arrays.copyOf(num2,10);
System.out.println(Arrays.toString(num3));
//截取指定长度复制
//Arrays.copyOf(int[] arrray,int from,int to);
//System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length);
//五个参数:原数组,原数组的起始位置,目标数组,目标数组的起始位置,要复制的长度
int[] newNum = new int[num2.length];
System.arraycopy(num2,0,newNum,0,num2.length);
System.out.println(Arrays.toString(newNum));
//小结:数组的复制:
/*
效率由高到低排序是:System.arraycopy -> Arrays.copyOf -> for循环
*/
//判断两个数组的值是否相等
System.out.println(Arrays.equals(num2,newNum));
//填充数组,把0填充到newNum中
Arrays.fill(newNum,0);
System.out.println(Arrays.toString(newNum));
}
}