Java中陣列複製的幾種方法

2021-08-29 07:35:03 字數 1373 閱讀 8310

閱讀目錄

/*** @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.println();

//2.通過system.arraycopy()

int array3 = new int[5];

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

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

system.out.println();

//3.通過arrays.copyof()

int array4 = new int[5];

array4 = arrays.copyof(array1, 5);

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

system.out.println();

//4.通過object.clone()

int array5 = new int[5];

array5 = array4.clone();

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

**靈活,但效率低。

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

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

2 object dest, int destpos,

3 int length);

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

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

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中陣列複製的幾種方法

閱讀目錄 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...

陣列複製的幾種方法

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