1. 數(shù)組
數(shù)組是一個有序的元素序列潮太,其內(nèi)部只能存放對象類型霎箍,對于基本數(shù)據(jù)類型需要用NSNumber包裝成對象后存放,對于C語言的Struct類型顶别,需要用NSValue包裝對象后存放谋旦。
它的索引是從0開始拴孤,其索引大小大于數(shù)組長度時,會拋出索引越界運行時異常兄纺。
1.1 NSArray(固定數(shù)組)
NSArray具有常量性,其長度和元素均不能被更改旁蔼。但元素對象指針指向的內(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 一樣初始化指定一個capacity的值物咳,為元素的數(shù)據(jù)囱持。當(dāng)長度增長時晴弃,會以capacity二倍的方式增長。
雖然它給我們提供了很多操作數(shù)組的方法,但是我們也應(yīng)該盡量去避免使用insertObject 和 removeObject等這種會改變數(shù)序列的操作轮听,因為涉及到大量的內(nèi)存拷貝操作珊随。
2. Set 集合
分為NSSet,NSMutableSet掀序,前者不可變财饥,后者可變满着。
Set是一個無序缕探、無重復(fù)元素的集合潭兽。引用類型诵次!
遍歷的方式:Fash Enumeration和NS Enumerator剔猿。
3. Dictionary 字典
NSDictionary NSMutableDictinary(可變)
鍵 值對無序集合,key是唯一,value可重復(fù)
遍歷的方式:Fash Enumeration和NS Enumerator