將一個(gè)數(shù)組的某一部分復(fù)制到另一個(gè)新的數(shù)組

在Java中對(duì)ArrayList進(jìn)行操作時(shí),如何需要將一個(gè)數(shù)組的某一部分復(fù)制到另一個(gè)新的數(shù)組(即值傳遞)塑娇,System提供了一個(gè)靜態(tài)方法arraycopy()景用,我們可以使用它來(lái)實(shí)現(xiàn)數(shù)組之間的復(fù)制打肝,其函數(shù)原型是:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
其中:
src:源數(shù)組娩缰;
srcPos:源數(shù)組要復(fù)制的起始位置蓬痒;
dest:目的數(shù)組;
destPos:目的數(shù)組放置的起始位置;
length:復(fù)制的長(zhǎng)度梧奢。
在使用過(guò)程中,發(fā)現(xiàn)該方法十分方便演痒,不知道是不是有前輩在OC上封裝了此方法亲轨,也沒(méi)有經(jīng)過(guò)查找官方提供的接口,就自己弄了個(gè)函數(shù):

  • (void)arrayCopy:(NSMutableArray *)src srcPods:(int)srcPods dest:(NSMutableArray *)dest destPods:(int)destPods lenght:(int)length鸟顺;
    在使用此方法時(shí)與Java一樣需要注意:
    1惦蚊、src and dest都必須是同類型或者可以進(jìn)行轉(zhuǎn)換類型的數(shù)組
    2、源的起始位置+長(zhǎng)度不能超過(guò)末尾
    3讯嫂、目標(biāo)起始位置+長(zhǎng)度不能超過(guò)末尾
    4蹦锋、所有的參數(shù)不能為負(fù)數(shù)
    附上方法的實(shí)現(xiàn)和應(yīng)用:

  • (void)arrayCopy:(NSMutableArray *)src srcPods:(NSInteger)srcPods dest:(NSMutableArray *)dest destPods:(NSInteger)destPods lenght:(NSInteger)length{
    if (src == nil) {
    return;
    }
    if (srcPods < 0 || destPods < 0 || length < 0|| srcPods>src.count) {
    return;
    }
    if (src == dest && srcPods< destPods && destPods < srcPods+length) {
    for (NSInteger i = length - 1; i >= 0 ; --i) {
    dest[destPods + i] = src[srcPods + i];
    }
    }else{
    for (int i = 0; i < length; ++i) {
    dest[destPods+i] = src[srcPods+i];
    }
    }
    }
    應(yīng)用:NSMutableArray *src = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];//源數(shù)組
    NSMutableArray *dest = [[NSMutableArray alloc]init];//目標(biāo)數(shù)組
    [self arrayCopy:src srcPods:0 dest:dest destPods:0 lenght:5];//方法調(diào)用,注意此處參數(shù)destPods的開(kāi)始位置為0
    打印結(jié)果:dest is: (
    1,
    2,
    3,
    4,
    5
    )

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末欧芽,一起剝皮案震驚了整個(gè)濱河市莉掂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌千扔,老刑警劉巖憎妙,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異曲楚,居然都是意外死亡厘唾,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)龙誊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)抚垃,“玉大人,你說(shuō)我怎么就攤上這事趟大『资鳎” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵护昧,是天一觀的道長(zhǎng)魂迄。 經(jīng)常有香客問(wèn)我,道長(zhǎng)惋耙,這世上最難降的妖魔是什么捣炬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮绽榛,結(jié)果婚禮上湿酸,老公的妹妹穿的比我還像新娘。我一直安慰自己灭美,他們只是感情好推溃,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著届腐,像睡著了一般铁坎。 火紅的嫁衣襯著肌膚如雪蜂奸。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天硬萍,我揣著相機(jī)與錄音扩所,去河邊找鬼。 笑死朴乖,一個(gè)胖子當(dāng)著我的面吹牛祖屏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播买羞,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼袁勺,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了畜普?” 一聲冷哼從身側(cè)響起期丰,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎漠嵌,沒(méi)想到半個(gè)月后咐汞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡儒鹿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年化撕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片约炎。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡植阴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出圾浅,到底是詐尸還是另有隱情掠手,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布狸捕,位于F島的核電站喷鸽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灸拍。R本人自食惡果不足惜做祝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸡岗。 院中可真熱鬧混槐,春花似錦、人聲如沸轩性。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至悯嗓,卻和暖如春件舵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绅作。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工芦圾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人俄认。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像洪乍,于是被迫代替她去往敵國(guó)和親眯杏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容