GeekBand Objective-C 集合類型

1. 數(shù)組

數(shù)組是一個(gè)有序的元素序列,其內(nèi)部只能存放對(duì)象類型,對(duì)于基本數(shù)據(jù)類型需要用NSNumber包裝成對(duì)象后存放,對(duì)于C語言的Struct類型,需要用NSValue包裝對(duì)象后存放。
它的索引是從0開始,其索引大小大于數(shù)組長度時(shí),會(huì)拋出索引越界運(yùn)行時(shí)異常。

1.1 NSArray(固定數(shù)組)

NSArray具有常量性,其長度和元素均不能被更改。但元素對(duì)象指針指向的內(nèi)容可以修改。
遍歷方式:

    // for in 方式,最快的迭代方法
    for (MyPoint* p in arr) {
        NSLog(@"%p",p);
    }
    // 迭代器方式
    NSEnumerator* enumerator = [arr objectEnumerator];
    MyPoint* p = nil;
    while (p = [enumerator nextObject]) {
         NSLog(@"%@",[p description]);
    }
    // for 循環(huán)
    for (int i = 0; [arr count]; i++) {
        id p = [arr objectAtIndex:i];
        NSLog(@"%@",[p description]);
    }
1.2 NSMutableArray (可變數(shù)組)

NSMutableArray 是 NSArray的子類,可更改自身的長度、及元素。與NSMutableString 一樣初始化指定一個(gè)capacity的值,為元素的數(shù)據(jù)。當(dāng)長度增長時(shí),會(huì)以capacity二倍的方式增長。
雖然它給我們提供了很多操作數(shù)組的方法,但是我們也應(yīng)該盡量去避免使用insertObject 和 removeObject等這種會(huì)改變數(shù)序列的操作,因?yàn)樯婕暗酱罅康膬?nèi)存拷貝操作。

2. Set 集合

分為NSSet,NSMutableSet,前者不可變,后者可變。
Set是一個(gè)無序、無重復(fù)元素的集合。引用類型!
遍歷的方式:Fash Enumeration和NS Enumerator。

3. Dictionary 字典

NSDictionary NSMutableDictinary(可變)
鍵 值對(duì)無序集合,key是唯一,value可重復(fù)
遍歷的方式:Fash Enumeration和NS Enumerator

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容