Arrays 類是 Java 中提供的一個工具類,在 java.util 包中。該類中包含了一些方法用來直接操作數組,比如可直接實作數組的排序、搜尋等(關于類和方法的相關内容在後面的章節中會詳細講解滴~~)。
Arrays 中常用的方法:
1、 排序
文法: Arrays.sort(數組名);
可以使用 sort( ) 方法實作對數組的排序,隻要将數組名放在 sort( ) 方法的括号中,就可以完成對該數組的排序(按升序排列),如:
<a target="_blank" href="http://img.mukewang.com/5374279d0001d9a706970392.jpg"></a>
運作結果:
<a target="_blank" href="http://img.mukewang.com/537427ec0001076602580140.jpg"></a>
2、 将數組轉換為字元串
文法: Arrays.toString(數組名);
可以使用 toString( ) 方法将一個數組轉換成字元串,該方法按順序把多個數組元素連接配接在一起,多個元素之間使用逗号和空格隔開,如:
<a target="_blank" href="http://img.mukewang.com/537428a000010ea608880205.jpg"></a>
運作結果為:
輸出數組nums中的元素:[25,7,126,53,14,86]
Arrays 類還提供了許多其他方法來操作數組此處就不一一列舉啦,各位小夥伴們可以在 wiki 查閱更多資訊
親, Arrays 類的使用您掌握了嘛,讓我們來檢驗一下吧。
在編輯器中定義了一個數組 hobbys ,請在第 2、11、14 行中将代碼填寫完整,實作使用 Arrays 類對數組進行排序并轉換輸出。
運作結果為: [ game , movie , sports ]
Arrays類應用
Arrays 類是 Java API 中提供的類,在 java.util 包中, Arrays類中提供的方法可直接實作數組的排序、搜尋等。常用方法如下:
1、toString
轉換數組:将指定數組内容轉換為字元串形式
2、fill
給數組指派:通過fill方法。
3、sort
對數組排序:通過sort方法,預設按升序。
4、equals
比較數組:通過equals方法比較數組中元素值是否相等。
5、binarySearch
二分查找:使用二分搜尋法來搜尋指定數組的範圍
示例代碼:
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
int[] array = new int[5];
// 填充數組
/* Arrays.fill( a1, value );
作用:填充 a1 數組中的每個元素都是value
*/
Arrays.fill(array, 5);
System.out.println("填充數組:Arrays.fill(array, 5):");
System.out.println(Arrays.toString(array));
// 将數組的第3和第4個元素指派為8
/* Arrays.fill( a1, fromIndex, toIndex,value);
作用:填充 a1 數組中的從索引為 fromIndex 開始到索引為 toIndex-1 為止每個元素都是 value
Arrays.fill(array, 2, 4, 8);
System.out.println("将數組的第2和第3個元素指派為8:Arrays.fill(array, 2, 4, 8):");
int[] array1 = { 7, 8, 3, 2, 12, 6, 3, 5, 4 };
// 對數組的第3個到第7個進行排序
/* Arrays.sort( a1, fromIndex, toIndex);
作用:對 a1 數組中的從索引為 fromIndex 開始到索引為 toIndex-1 為止每個元素排序
Arrays.sort(array1, 2, 7);
System.out.println("對數組的第2個到第6個元素進行排序:Arrays.sort(array,2,7):");
System.out.println(Arrays.toString(array1));
// 對整個數組進行排序
Arrays.sort(array1);
System.out.println("對整個數組進行排序:Arrays.sort(array1):");
// 比較數組元素是否相等
System.out.println("比較數組元素是否相等:Arrays.equals(array, array1):" + "\n"
+ Arrays.equals(array, array1));
int[] array2 = array1.clone();
System.out.println("克隆後數組元素是否相等:Arrays.equals(array1, array2):" + "\n"
+ Arrays.equals(array1, array2));
// 使用二分搜尋算法查找指定元素所在的下标(必須是排序好的,否則結果不正确)
System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"
+ "\n" + Arrays.binarySearch(array1, 3));
// 如果不存在就傳回負數
System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"
+ "\n" + Arrays.binarySearch(array1, 9));
}
}
運作結果:
填充數組:Arrays.fill(array, 5):
[5, 5, 5, 5, 5]
将數組的第2和第3個元素指派為8:Arrays.fill(array, 2, 4, 8):
[5, 5, 8, 8, 5]
對數組的第2個到第6個元素進行排序:Arrays.sort(array,2,7):
[7, 8, 2, 3, 3, 6, 12, 5, 4]
對整個數組進行排序:Arrays.sort(array1):
[2, 3, 3, 4, 5, 6, 7, 8, 12]
比較數組元素是否相等:Arrays.equals(array, array1):
false
克隆後數組元素是否相等:Arrays.equals(array1, array2):
true
元素3在array1中的位置:Arrays.binarySearch(array1, 3):
1
元素9在array1中的位置:Arrays.binarySearch(array1, 9):
-9