Java 數組工具類 Arrays

Java 數組工具類 Arrays

Arrays

  • Arrays類提供了幾個使用很便捷的方法。

  • toString(type[] a)

    • 示例

      int[] arr = { 10, 20, 30 };
      
      System.out.println(Arrays.toString(arr));
    • 運行結果
      運行結果
      返回 arr 中數據元素的字符串,這些元素被放在中括號內,並用逗號分隔。

    • toString() Java 源代碼
      源代碼

    Arrays.toString() 底層使用 StringBuilder 來拼接數組中的每一個元素。

  • sort(type[] a)

    • 示例

      int[] arr = { 3, 5, 2, 6, 1, 4 };
      
      Arrays.sort(arr);
      
      System.out.println(Arrays.toString(arr));
    • 運行結果
      運行結果
      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);
    • 運行結果
      運行結果

    • 注意

      • 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]);
      }
    • 運行結果
      這裏寫圖片描述

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

    • 判斷兩個數組是否相等。
    • 如果數組大小相同,並且下標相同的元素都對應相等,返回 true 。
    • 示例

      int[] a = { 1, 2, 3 };
      int[] b = { 1, 2, 3 };
      
      System.out.println(Arrays.equals(a, b));
    • 運行結果
      運行結果

總結

  • Arrays 類提供的方法能很方便的幫助我們操作數組,我們的程序中會大量使用數組,所以這些方法應當掌握。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章