GeekBand OC 9. 集合类型

分类

1. Array 有序,包含index和value两部分

2. Set 无序

3. Dictionary key指向value(一对一或多对一)

数组

NSArray

1. 引用类型

2. 初始化:NSArray *array3=@[@"Shanghai",@"Beijing",@"New York",@"Paris"];

3. 数组元素必须为对象,对于值类型需要用NSNumber封装

对于结构类型,需要用NSValue封装

注意:堆的生存周期比栈要长,因此堆上不能有指针指向栈上的元素

4. 常量性:不能更改数组长度,不能更改指针,但指针指向的对象可以更改

数组遍历

1. 快速枚举:for in √

2. 迭代器模式

3. 传统for循环

数组查找

1. indexOfObject 值相等(需要修改isEqual类)

2. indexOfObjectIdenticalTo 引用相等

数组排序

1. 由于数组常量性,排序后返回新数组

2. 字符串按字母排序

NSMutableArray

支持更改数组长度和元素指针

1. 修改元素:添加、删除、插入、替换

2. 与NSMutableString类似,NSMutableArray在初始化时也需要预估容量,避免缓存容量成倍增长

3. 避免插入、删除等需要大量内存拷贝的操作

Set集合

1. 无序,不能有重复元素

2. 引用类型

3. 有NSSet和NSMutableSet

4. 初始化

5. 常用操作:

set2.count 取集合长度

containsObject 查找(返回0或1)

for in 遍历

Dictionary字典

1. 存储key-value 无序

2. 有NSDictionary和NSMutableDictionary

3. 初始化

4. 索取元素

5. for in 遍历

你可能感兴趣的:(GeekBand OC 9. 集合类型)