數組

數組複製的方法

  1. for循環複製

  2. Arrays.copyOf(original, newLength);

    源數組 新數組長度

     
    int[] srcArray = {1,2,3,4,5,6};
    int[] newArray = Arrays.copyOf(srcArray, 10);
    // [1, 2, 3, 4, 5, 6, 0, 0, 0, 0]

    新長度大於源數組時,顯示爲類型初始化的值。int->0 String->null

  3. System.arraycopy(src, srcPos, dest, destPos, length);

    源數組 | 起始索引|目標數組|起始位置|長度

     
    int[] srcArray = {1,2,3,4,5,6};
    int[] newArray = new int[srcArray.length];
    System.arraycopy(srcArray, 1, newArray, 0, 3);
    [2, 3, 4, 0, 0, 0]

    Arrays.copyOf 的底層實現也是通過System.arraycopy

     
        public static char[] copyOf(char[] original, int newLength) {
        char[] copy = new char[newLength];
        System.arraycopy(original, 0, copy, 0,
                         Math.min(original.length, newLength));
        return copy;
    }

ARRAYS工具類

  • Arrays.toString(int[] a)

    ​int[] scores = { 3, 4, 7, 12, 43, 5,10, 6,1 };

    ​String s = Arrays.toString(scores);//數組轉字符串表達

    ​System.out.println(s);

    ​//將輸出:[3, 4,7, 12, 43, 5, 10, 6, 1]

  • Arrays.sort(int[] a)

    ​Arrays.sort(scores);//對scores數組升序排列

  • Arrays.fill(scores,5);

    ​int[] scores = { 3, 4, 7, 12, 43, 5,10, 6,1 };

    ​Arrays.fill(scores, 5);//將數組的所有值 替換成  5

    ​System.out.println(Arrays.toString(scores));

    ​//將輸出:[5, 5,5, 5, 5, 5, 5, 5, 5]

發佈了42 篇原創文章 · 獲贊 2 · 訪問量 7949
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章