昨天介紹了陣列的宣告還有一些基本的操作,像是取得長度和獲取元素。今天就來簡單介紹幾個常用的方法,這些陣列相關方法都被定義在java.util套件中的Arrays裡,所以再使用前別忘了import進去~
可以快速的印出陣列中的所有元素。
int[] intArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
System.out.println(Arrays.toString(intArray)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
會複製一個一模一樣的陣列物件,不過新陣列與原陣列分別佔用不同記憶體,彼此互不影響。
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = intArray.clone();
intArray[0]=100;
System.out.println(Arrays.toString(intArray)); // [100, 2, 3, 4, 5]
System.out.println(Arrays.toString(intArray2)); // [1, 2, 3, 4, 5]
可以很快速的來把陣列內元素由小排到大。
int[] intArray = { 4, 7, 5, 1, 9, 2 };
System.out.println(Arrays.sort(intArray)); // [1, 2, 4, 5, 7, 9]
使用二分搜尋法,在執行搜尋前必須先把陣列排序好,如果找到相符合的元素會回傳它的索引值,如果找不到則是回傳-1。
int[] intArray = { 1, 2, 3, 4, 5 };
System.out.println(Arrays.binarySearch(intArray, 3)); // 2
如果想比較裡面元素內容一不一樣的話要使用equal(),而不是用==來判斷,==是判斷記憶體的位址一不一樣。至於相等的條件是每個陣列元素的值、順序都要完全一樣,如果順序不同結果就會變成false。
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 1, 2, 3, 4, 5 };
System.out.println(Arrays.equal(intArray, intArray2)); // true