手寫陣列元素拷貝

2021-09-27 21:15:03 字數 1341 閱讀 5448

//陣列拷貝

public

class

arraycopydemo

;// 源陣列

int[

] dest =

newint[10

];// 目標陣列

system.out.

println

(arrays.

tostring

(src));

system.out.

println

(arrays.

tostring

(dest));

arraycopy

(src,

1, dest,4,

5);// 陣列元素拷貝

system.out.

println

(arrays.

tostring

(dest));

}/**

* * @param src 源陣列

* @param srcpos 從源陣列的第srcpos位置開始拷貝

* @param dest 目標陣列

* @param destpos 從源陣列的第destpos位置開始插入

* @param length 拷貝元素長度

*/private

static

void

arraycopy

(object src,

int srcpos, object dest,

int destpos,

int length)if(

!src.

getclass()

.isarray()

||!dest.

getclass()

.isarray()

)if(srcpos <

0|| destpos <

0|| length <

0|| srcpos + length > array.

getlength

(src)

|| srcpos + length > array.

getlength

(dest))if

(src.

getclass()

.getcomponenttype()

!= dest.

getclass()

.getcomponenttype()

)// 待滿足所有條件,開始拷貝

for(

int index = srcpos; index < srcpos + length; index++)}

}

手寫JS深拷貝

原始碼 支援拷貝string number boolean null undefined object function array regexp date 環 class deepcloner clone source else else if source instanceof function...

陣列的拷貝 從陣列中刪除某個元素

package cn.sxt.array2 陣列的拷貝 public class testarraycopy 從陣列中刪除某個元素 本質上是陣列的拷貝 public static void testbasiccoopy2 string s2 new string 5 system.arraycopy...

前端手寫系列 手寫簡易版深拷貝

深拷貝方式1 json.parse json.stringify obj 這種方式有很多缺點,會忽略undefined,symbol,函式,不能解決迴圈引用的問題,不能處理正則,new date 以下深拷貝只考慮了物件和陣列的情況,其餘諸如date,function,regexp都沒有考慮 簡易版深...