JAVA中陣列複製的幾種方法

2021-07-30 01:28:30 字數 1674 閱讀 9153

閱讀目錄

+ view code

1 /**

2 * @author zhengbinmac

3 */

4 public class test ;

7 // 1.通過for迴圈

8 int array2 = new int[5];

9 for(int i = 0;i < array1.length;i++)

12 for(int i = 0;i < array2.length;i++)

15 system.out.println();

16 //2.通過system.arraycopy()

17 int array3 = new int[5];

18 system.arraycopy(array1, 0, array3, 0, 5);

19 for (int i = 0; i < array3.length; i++)

22 system.out.println();

23 //3.通過arrays.copyof()

24 int array4 = new int[5];

25 array4 = arrays.copyof(array1, 5);

26 for (int i = 0; i < array4.length; i++)

29 system.out.println();

30 //4.通過object.clone()

31 int array5 = new int[5];

32 array5 = array4.clone();

33 for (int i = 0; i < array5.length; i++)

36 }

37 }

**靈活,但效率低。

通過原始碼可以看到,其為native方法,即原生態方法。自然效率更高。

+ view code

1 public static native void arraycopy(object src,  int  srcpos,

2 object dest, int destpos,

3 int length);

同樣看原始碼,它的實現還是基於system.arraycopy(),所以效率自然低於system.arraycpoy()。

+ view code

1 public static int copyof(int original, int newlength)
從原始碼來看同樣也是native方法,但返回為object型別,所以賦值時將發生強轉,所以效率不如之前兩種。

+ view code

1 protected native object clone() throws clonenotsupportedexception;
**出處:

Java中陣列複製的幾種方法

view code 1 2 author zhengbinmac3 4public class test 7 1.通過for迴圈 8int array2 new int 5 9for int i 0 i array1.length i 12for int i 0 i array2.length i ...

Java中陣列複製的幾種方法

閱讀目錄 author zhengbinmac public class test 1.通過for迴圈 int array2 new int 5 for int i 0 i array1.length i for int i 0 i array2.length i system.out.printl...

陣列複製的幾種方法

一 for迴圈 二 使用system.arraycopy方法 system.arraycopy src,srcpos,dest,destpos,length 可以選定複製原陣列的部分內容,但新陣列需要先宣告並初始化 另外這種方法可以用來實現原陣列的擴容,即將原陣列的內容拷進去,但是比較麻煩 三 ar...