Skip to content

Arrays 工具类

java.util.Arrays 提供数组操作的常用方法。

常用方法一览

方法说明
toString()转字符串
sort()排序
binarySearch()二分查找
equals()比较
deepEquals()多维数组比较
fill()填充
copyOf()复制
copyOfRange()范围复制
asList()数组转列表

排序和查找

java
import java.util.Arrays;

public class ArraysSortDemo {

    public static void main(String[] args) {
        int[] arr = {3, 1, 4, 1, 5, 9, 2, 6};

        // 排序
        Arrays.sort(arr);
        System.out.println("排序后: " + Arrays.toString(arr));

        // 二分查找(必须先排序)
        int index = Arrays.binarySearch(arr, 5);
        System.out.println("5 的索引: " + index);
    }
}

填充和复制

java
import java.util.Arrays;

public class ArraysFillCopyDemo {

    public static void main(String[] args) {
        // 填充
        int[] arr1 = new int[5];
        Arrays.fill(arr1, 100);
        System.out.println("填充后: " + Arrays.toString(arr1));

        // 复制(可扩容)
        int[] arr2 = Arrays.copyOf(arr1, 10);
        System.out.println("复制后: " + Arrays.toString(arr2));

        // 指定范围复制
        int[] arr3 = {1, 2, 3, 4, 5};
        int[] arr4 = Arrays.copyOfRange(arr3, 1, 4);
        System.out.println("范围复制: " + Arrays.toString(arr4));
    }
}

数组比较

java
import java.util.Arrays;

public class ArraysEqualsDemo {

    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        int[] c = {1, 2, 4};

        System.out.println("a == b: " + Arrays.equals(a, b)); // true
        System.out.println("a == c: " + Arrays.equals(a, c)); // false

        // 多维数组比较用 deepEquals
        int[][] d = {{1, 2}, {3, 4}};
        int[][] e = {{1, 2}, {3, 4}};
        System.out.println("多维相等: " + Arrays.deepEquals(d, e));
    }
}

数组转列表

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

public class AsListDemo {

    public static void main(String[] args) {
        String[] names = {"Tom", "Jerry", "Mike"};

        // 数组转列表(返回固定长度列表)
        List<String> list = Arrays.asList(names);

        // 注意:这个列表长度固定,不支持 add/remove
        // list.add("John"); // UnsupportedOperationException
    }
}

注意事项

  • binarySearch 使用前必须先排序
  • 多维数组比较用 deepEquals,不能用 equals
  • asList 返回的列表长度固定,不支持 add/remove 操作

基于 VitePress 构建