Arrays类中的常见方法

Arrays类中包含各种用于操作数组的方法,下面是比较常用的几种方法

目录

导包

常见方法的使用 

1.Arrays.toString()

2.Arrays.fill()

 3.Arrays.sort()

4. Arrays.equals()

5.Arrays.binarySearch()

6.Arrays.copyOf() 和Arrays.copyOfRange()


导包

Arrays类位于java.util包中,所以要想使用Arrays类中的方法首先要进行导包

import java.util.Arrays;

常见方法的使用 

1.Arrays.toString()

用于返回指定数组内容的字符串表示形式

public class Demo {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6,7,8,9,10};
        //将数组arr中内容转换为字符串
        String str = Arrays.toString(arr);
        System.out.println(str);
    }
}

 输出结果

2.Arrays.fill()

用于替换数组原元素

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        //将1赋值给数组中的每一个元素
        Arrays.fill(arr,1);
        System.out.println(Arrays.toString(arr));
    }
}

输出结果

 

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        //将1赋值给数组中指定元素
        //从1索引开始到3索引(不包括)处
        Arrays.fill(arr,1,3,1);
        //第一个参数是数组,第二个参数是起始索引,第三个参数是结束索引,
        //第四个参数是指定的值
        System.out.println(Arrays.toString(arr));
    }
}

输出结果

 

 3.Arrays.sort()

用于按照数字顺序排列指定的数组(默认升序)

public class Demo {
    public static void main(String[] args) {
        int[] arr = {13,5,6,8,2};
        System.out.println("调用sort方法前:" + Arrays.toString(arr));
        //按照升序排序
        Arrays.sort(arr);
        System.out.println("调用sort方法后:" + Arrays.toString(arr));
    }
}

输出结果

 注:在进行字符串的排序时,比较的是每个字符的ASCII码值,而不是字符串长度

public class Demo {
    public static void main(String[] args) {
        String[] strings = {"abc","ad","ac"};
        Arrays.sort(strings);
        System.out.println(Arrays.toString(strings));
    }
}

输出结果

4. Arrays.equals()

用于比较两个数组内容是否相等,返回类型为Boolean,两数组内容相同返回true,不同返回false

public class Demo {
    public static void main(String[] args) {
        char[] chars1 = {'a','b','c'};
        char[] chars2 = {'a','b','d'};
        boolean isSame = Arrays.equals(chars1,chars2);
        System.out.println(isSame);
    }
}

5.Arrays.binarySearch()

用于查找数组中的元素,返回值为int

注:数组一定是排好序的,否则会出错

public class Demo {
    public static void main(String[] args) {
        //数组一定是排好序的
        int[] arr = {2,4,10,20,33};
        //传入两个参数,前一个为要查找的数组,后一个为要查找的元素
        int a = Arrays.binarySearch(arr,2);//0
        //找到该元素,则返回该元素的索引
        //返回值>=0,则说明能找到该元素

        int b = Arrays.binarySearch(arr,3);//-2
        //未找到该元素,返回-x
        //3介于2和4之间,若要将3放入数组中,是该数组的第二个元素,则返回-2

        int c = Arrays.binarySearch(arr,0,3,20);//-4
        //在0索引到3(不包括)索引位置查找该元素
    }
}

6.Arrays.copyOf() 和Arrays.copyOfRange()

用于拷贝数组

Arrays.copyOf() 

public class Demo {
    public static void main(String[] args) {
        int[] arr1 = {1,2,3,4,5};
        //第一个参数为原数组,第二个参数是拷贝长度,返回值是一个新数组
        //默认从0索引位置开始拷贝
        int[] arr2 = Arrays.copyOf(arr1,3);
        System.out.println(Arrays.toString(arr2));
    }
}

输出结果

Arrays.copyOfRange(int[] original, int from, int to)

public class Demo {
    public static void main(String[] args) {
        int[] arr1 = {1,2,3,4,5};
        //第一个参数:原数组,第二个参数:开始拷贝索引,第三个参数:结束拷贝索引(不包括)
        int[] arr2 = Arrays.copyOfRange(arr1,1,3);
        System.out.println(Arrays.toString(arr2));
    }
}

 输出结果

猜你喜欢

转载自blog.csdn.net/2301_76161469/article/details/130071024