Java 数组工具类 Arrays

时间:2021-11-12 19:26:14

Java 数组工具类 Arrays

Arrays

  • Arrays类提供了几个使用很便捷的方法。

  • toString(type[] a)

    • 示例

      int[] arr = { 10, 20, 30 };

      System.out.println(Arrays.toString(arr));
    • 运行结果
      Java 数组工具类 Arrays
      返回 arr 中数据元素的字符串,这些元素被放在中括号内,并用逗号分隔。

    • toString() Java 源代码
      Java 数组工具类 Arrays

    Arrays.toString() 底层使用 StringBuilder 来拼接数组中的每一个元素。

  • sort(type[] a)

    • 示例

      int[] arr = { 3, 5, 2, 6, 1, 4 };

      Arrays.sort(arr);

      System.out.println(Arrays.toString(arr));
    • 运行结果
      Java 数组工具类 Arrays
      sort 方法使用快速排序算法为数组内的元素进行排序。

  • binarySearch(type[] a, type v)

    • 示例

      int[] arr = { 1, 2, 3, 4, 5 };

      int index = Arrays.binarySearch(arr, 3);
      System.out.println(index);

      index = Arrays.binarySearch(arr, 10);
      System.out.println(index);
    • 运行结果
      Java 数组工具类 Arrays

    • 注意

      • binarySearch二分查找算法,调用这个方法前必须保证数组经过排序,否则返回的结果可能不是我们所期望的。

      • 如果要查找的值在数组内,则返回该值第一次被查找到时的索引值,否则返回(- (插入点)-1),上面的示例中第二次查找的元素 10 不在数组内,当插入点移动到 5 时结束查找,并返回 -5 - 1 也就是 -6。

      • binarySearch 方法有一个重载方法,可以指示在什么范围进行查找。 binarySearch(type[] a, int start, int end, type v)

  • fill(type[] a, type v)

    • 示例

      int[] arr = new int[5];

      //从索引 1 的位置开始,到所有 3 的位置结束(不包括3),将此范围内的元素赋值为 3
      Arrays.fill(arr, 1, 3, 3); // 示例使用带范围的重载方法,更多请参考 API 文档

      for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
      }
    • 运行结果
      Java 数组工具类 Arrays

  • equals(type[] a, type[] b)

    • 判断两个数组是否相等。
    • 如果数组大小相同,并且下标相同的元素都对应相等,返回 true 。
    • 示例

      int[] a = { 1, 2, 3 };
      int[] b = { 1, 2, 3 };

      System.out.println(Arrays.equals(a, b));
    • 运行结果
      Java 数组工具类 Arrays

总结

  • Arrays 类提供的方法能很方便的帮助我们操作数组,我们的程序中会大量使用数组,所以这些方法应当掌握。