Arrays工具类

Arrays数组工具类

Arrays工具类:用来操作数组(比如排序和搜索)的各种方法
常用方法:
1、使用二分法查找:
Arrays.binarySearch(int [] array,int value);

2、数组内容转换成字符串的形式输出:
Arrays.toString(int [] array);

3、数组排序:
Arrays.sort(int [] array);

4、复制指定的数组:
Arrays.copyOf(int [] array,int length);
Arrays.copyOf(int [] array,int from,int to);
System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length);

5、判断两个数组是否相等:
Arrays.equals();

6、使用指定元素填充数组:
Arrays.fill();

/**
    Arrays工具类
 */
import java.util.Scanner;
import java.util.Arrays;
public class Test8 {
    public static void main(String[] args) {
        int [] num ={45,65,76,87,98,901};
        
        //二分查找
        int index=Arrays.binarySearch(num, 98);
        System.out.print("找到的下标是:"+index);
        
        //输出数组
        for(int n:num){
            System.out.println(n);
        }
        //使用Arrays工具类输出数组,使用时更加方便
        System.out.println(Arrays.toString(num));
        
        //排序
        int [] num2={12,14,56,7,8,0,23};
        Arrays.sort(num2);  //快速排序
        System.out.println(Arrays.toString(num2));
        
        //数组的复制
        int [] num3=Arrays.copyOf(num2,10);//复制后可以用原数组num2重新接收,也可以重新定义一个新的数组num3
        System.out.println(Arrays.toString(num3));
        
        //
        int [] num4=new int[6];
        System.arraycopy(num,0,num4,1,4);  //第一个参数:源数组,第二个参数:源数组的起始位置,第三个参数:目标数组,第四个参数:目标数组的起始位置,第五个参数:目标数组的总长度
        System.out.println(Arrays.toString(num4));
        结果为:[0,45,65,76,87,0]  【因为定义num4的数组长度是6,所以赋值后不足的用0补齐】
        //小结,数组的复制:
        /*
         效率由高到低排序是:System.arraycopy -> Arrays.copyOf -> for循环
         
         */
        
        //判断两个数组的值是否相等
        System.out.println(Arrays.equals(num2,num4)); //输出true 或 false
        
        //填充数组
        Arrays.fill(num4, 0);
        System.out.println(Arrays.toString(num4)); //数组的num4的各个元素就全变成0

    }

}

你可能感兴趣的:(Arrays工具类)