首頁 > 軟體

Java中運算元組的Arrays類

2022-02-09 19:02:04

引包:位於java.util 包下。

Arrays類包含了各種運算元組的靜態方法:

陣列排序:sort(升序排序)過載了各種陣列升序排序方法,舉例幾種:

sort(char[] a)
sort(double[] a)
sort(int[] a)

範例:

public class ArraysTest {
    public static void main(String[] args) {
        int[] arrInt = {9,8,7,6,5,4,3,2,1};
        Arrays.sort(arrInt);
         for(int x: arrInt){
            System.out.print(x + " ");	//列印結果1 2 3 4 5 6 7 8 9 
        }
    }
}

陣列查詢:binarySearch(二分查詢)過載了各種陣列查詢方法,舉例幾種:

binarySearch(double[] a, double key)
binarySearch(int[] a, int key)
binarySearch(char[] a, char key)
​ 第一個引數都是傳進來的陣列,第二個引數是要查詢的值。如果存在查詢的值,返回該數在陣列中的下標,否則返回(-(insertion point)-1);範例:

public class ArraysTest {
    public static void main(String[] args) {
        int[] arrInt = {9,8,7,6,5,4,3,2,1};
        Arrays.sort(arrInt);		//排序
        int t = Arrays.binarySearch(arrInt, 20); //必須要先排序才能使用此方法!!
        System.out.println(t);		//結果為-10
    }
}

陣列列印:toString 過載了各種陣列列印方法,舉例幾種:

toString(boolean[] a)
toString(char[] a)
toString(double[] a)
toString(int[] a)
返回結果是字串,如果陣列為null,返回null。範例:

public class ArraysTest {
    public static void main(String[] args) {
        int[] arrInt = {9,8,7,6,5,4,3,2,1};
        String s = Arrays.toString(arrInt);
        System.out.println(s);	//結果[9, 8, 7, 6, 5, 4, 3, 2, 1]
    }
}

陣列複製:copyOf 和copyOfRange過載了各種陣列複製方法,舉例兩種常見方法:

copyOf(int[] original, int newLength) 複製指定的陣列,用零擷取或填充(如有必要),以便複製具有指定的長度。
copyOfRange(int[] original, int from, int to) 將指定陣列的指定範圍複製到新陣列中。
範例:

public class ArraysTest {
    public static void main(String[] args) {
        int[] arrInt = {8,7,6,5,4,3,2,1};
        int[] arr = Arrays.copyOf(arrInt, 9);	//複製到具有9個位置的新陣列中
        int[] arr2 = Arrays.copyOfRange(arrInt, 1,5);	//複製下標1-5元素到新陣列中
        System.out.println(Arrays.toString(arr));	//結果[8, 7, 6, 5, 4, 3, 2, 1, 0]
        System.out.println(Arrays.toString(arr2));	//結果[7, 6, 5, 4]
    }
}

陣列比較:equals 過載了各種型別陣列比較,如:

equals(int[] a, int[] a2) 如果兩個指定的int陣列彼此 相等 ,則返回 true 。
equals(double[] a, double[] a2) 如果兩個指定的雙精度陣列彼此 相等 ,則返回 true 。

需要注意:

1.比較的兩個陣列型別需要相同!!!

2.如果比較的陣列參照都為null,返回true。

範例:

public class ArraysTest {
    public static void main(String[] args) {
        int[] arrInt = {7,6,5,4,3,2,1};
        int[] arrInt2 = {7,6,5,4,3,2,1};
        boolean flag = Arrays.equals(arrInt, arrInt2);
        System.out.println(flag);	//結果是true
    }
}

陣列填充:fill 過載了各種型別陣列填充方式,以int型舉例兩種填充方式:

fill(int[] a, int val) 將指定的val值分配給指定的int陣列的每個元素。
fill(int[] a, int fromIndex, int toIndex, int val) 將指定的val值分配給指定的int陣列的指定範圍(區間左閉右開)的每個元素。
範例:

public class ArraysTest {
    public static void main(String[] args) {
        int[] arr = new int[6];
        Arrays.fill(arr, 2, 5, 8);	//填充左閉右開區間下標[2,5)的元素
        String s = Arrays.toString(arr);
        System.out.println(s);	//列印[0, 0, 8, 8, 8, 0]
    }
}

到此這篇關於Java中運算元組的Arrays類的文章就介紹到這了,更多相關Java Arrays類內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com