java.util 包下提供了一个 Arrays 类,该类包含用于操作数组的各种方法(如排序和搜索),可以当做工具类来使用。

下面列举一些常用的方法:

  • toString:返回数组内容的字符串表示形式

    int[] arr = {1, 3, 7, 2, 4, 8};
    System.out.println(Arrays.toString(arr)); // [1, 3, 7, 2, 4, 8]
    
  • sort:按升序排列数组

    int[] arr = {1, 3, 7, 2, 4, 8};
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 7, 8]
    
  • binarySearch:按二分查找法找出指定数组中指定元素对应的索引值,使用前提是传入的数组是有序的

    int[] arr = {1, 3, 7, 2, 4, 8};
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 7, 8]
    System.out.println(Arrays.binarySearch(arr,4)); // 3
    
  • copyOf:复制指定的数组,并通过截取或用零填充以达到指定长度

    int[] arr = {1, 3, 7, 2, 4, 8};
    int[] newArr1 = Arrays.copyOf(arr, 4);
    System.out.println(Arrays.toString(newArr1)); // [1, 3, 7, 2]
    int[] newArr2 = Arrays.copyOf(arr, 7); 
    System.out.println(Arrays.toString(newArr2)); // [1, 3, 7, 2, 4, 8, 0]
    
  • copyOfRange:将指定数组的指定范围(左闭右开)复制到新数组中,如果右侧范围超出指定数组的长度,则用零填充(左侧一定要在指定数组范围内)

    int[] arr = {1, 3, 7, 2, 4, 8};
    int[] newArr = Arrays.copyOfRange(arr,1,7);
    System.out.println(Arrays.toString(newArr)); // [3, 7, 2, 4, 8, 0]
    
  • equals:如果两个数组以相同的顺序包含相同的元素,则返回 true 。另外,如果两个数组引用都是 null ,则也返回 true

    int[] arr1 = {1, 3, 7, 2, 4, 8};
    int[] arr2 = {1, 3, 7, 2, 4, 8};
    System.out.println(Arrays.equals(arr1,arr2)); // true
    int[] arr3 = null;
    int[] arr4 = null;
    System.out.println(Arrays.equals(arr3,arr4)); // true
    
  • fill:将指定的值分配给指定的相同类型数组的每个元素

    int[] arr = {1, 3, 7, 2, 4, 8};
    Arrays.fill(arr,10);
    System.out.println(Arrays.toString(arr)); // [10, 10, 10, 10, 10, 10]