【Java系列】Arrays类的常用方法

Arrays 为 java.util.Arrays 包中的一个类。该类所有的方法都为静态方法,即不需要构造一个对象即可直接使用。该类的用途包括:生成一个List对象,将数组转换为字符串,给数组赋值,对数组排序,比较数组,查找数组元素。

生成List对象

public static List asList(T… a)

import java.util.Arrays;
import java.util.List;

public class Test {
    public static void main(String []args) {
        List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);
        System.out.println(list);   //[1,2,3,4,5,6,7,8,9,10]
    }
}

将数组转换为字符串

public static String toString​(Object[] a)

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array = new int[]{1,2,3};
        String arrStr = Arrays.toString(array);
        System.out.print(arrStr);  //[1, 2, 3]
    }
}

给数组赋值

public static void fill​(Object[] a, Object val)

给数组全体元素赋一个相同的值。该方法直接影响原数组。

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array = new int[3];
        Arrays.fill(array,2);
        System.out.print(Arrays.toString(array));   //[2, 2, 2]
    }
}

public static void fill​(Object[] a, int fromIndex, int toIndex, Object val)

给指定的数组元素赋一个相同的值。赋值区间为[fromIndex, toIndex)。

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array = new int[5];
        Arrays.fill(array,2,4,34);
        System.out.print(Arrays.toString(array));  //[0, 0, 34, 34, 0]
    }
}

对数组排序

public static void sort​(Object[] a)

给指定的数组进行排序。

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array = new int[]{5,3,7,1,2};
        Arrays.sort(array);
        System.out.print(Arrays.toString(array));
    }
}

public static void sort​(Object[] a, int fromIndex, int toIndex)

在一个区间内给指定的数组进行排序。排序区间为[fromIndex, toIndex)。

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array = new int[]{5,3,7,1,2};
        Arrays.sort(array, 2,4);
        System.out.print(Arrays.toString(array));
    }
}

比较数组

public static boolean equals​(Object[] a, Object[] a2)

比较两个数组中的所有元素的值是否完全相同。

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array0 = new int[]{5,3,7,1,2};
        int[] array1 = new int[]{5,3,7,1,2};
        int[] array2 = new int[]{1,2,3,4,5};
        System.out.println(Arrays.equals(array0,array1));  //true
        System.out.println(Arrays.equals(array0,array2));  //false
    }
}

查找数组元素

public static int binarySearch​(Object[] a, Object key)

使用二分发查找数组元素。前提:该数组需要事先排序。结果为该元素的引索,如果该元素不存在则返回负数。

import java.util.Arrays;

public class Test {
    public static void main(String []args) {
        int[] array0 = new int[]{5,3,7,1,2};
        Arrays.sort(array0);
        System.out.println(Arrays.binarySearch(array0,3)); //2
        System.out.println(Arrays.binarySearch(array0,4));  //-4
    }
}

参考

java中Arrays类的用法
Class Arrays

Add a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注

Close Bitnami banner