+ 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同樣看原始碼,它的實現還是基於system.arraycopy(),所以效率自然低於system.arraycpoy()。public
static
native
void arraycopy(object src, int
srcpos,
2 object dest, int
destpos,
3int length);
+ view code
1從原始碼來看同樣也是native方法,但返回為object型別,所以賦值時將發生強轉,所以效率不如之前兩種。public
static
int copyof(int original, int
newlength)
+ view code
1protected
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...