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 類提供的方法能很方便的幫助我們操作數組,我們的程序中會大量使用數組,所以這些方法應當掌握。