Java中陣列複製的幾種方法

2021-07-29 07:19:03 字數 1618 閱讀 8076

+ 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++)

15system.out.println();

16//

2.通過system.arraycopy()

17int array3 = new

int[5];

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

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

22system.out.println();

23//

3.通過arrays.copyof()

24int array4 = new

int[5];

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

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

29system.out.println();

30//

4.通過object.clone()

31int array5 = new

int[5];

32 array5 =array4.clone();

33for (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,

3int 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 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...

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...