数组类:
有序集合
不可变
OC中的数组是一个容器,可以有序管理一系列元素,元素类型可以不相同,但是必须是对象类型。
初始化方法:
1.initWithObjects:
2.便利构造器
3.字面量。
1 NSArray *array = @[@"SF", @"QOP", @"ST", @"PANDA"];
原始(核心)方法:
1.count。数组的元素个数
2.objectAtIndex。通过下标获取数组元素
常用方法:
1.containsObjects:。判断数组中是否包含某个元素,返回布尔值
2.indexOfObject:。根据元素获取该元素在数组中的下标,返回NSUInteger
3.componentsSeparatedByString:。该方法被字符串对象调用,将参数作为分割符分割字符串,并将子串返回成数组
4.componetsJoinedByString:。该方法被数组对象调用,将参数作为连接符连接数组内的元素,并返回拼接后的字符串
可变:
初始化方法:
1.initWithCapacity:。与可变字符串类似,参数填分配的空间,因可变数组自身就是可以改变大小的,所以该数组根据情况而定
2.便利构造器
3.字面量
1 NSMutableArray *array = [@[@"ES", @"VS", @"NA", @"CM"] mutableCopy];
这种方式同样可以给可变字符串初始化,mutableCopy是协议方法里mutableCopyWithZone:的返回值,具体是什么不太清楚,API这么写的
常用方法:
1.addObject:。向可变数组里添加元素
2.insertObject: atIndex:。向可变数组里的指定位置插入一个新的元素
3.移除元素:
A.removeObject:。参数为对象名称
B.removeObjectAtIndex:。根据传入的下标删除元素
C.removeLastObject:。删除数组中的最后一个元素
D.removeAllObjects:。删除数组中的所有元素
4.replaceObjectAtIndex: withObject:。用第二个参数替换第一个参数索引到的元素
5.exchangeObjectAtIndex: withObjectAtIndex:。根据下标交换两个元素
字典类:
无序集合,每一个对象都是一对键值对,靠key存取元素,key和value必须是对象类型。
不可变
初始化方法:
1.initWithObjectsAndKeys:
2.便利构造器
3.字面量
1 NSDictionary *dict = @{@"key1":@"value1", @"key2":@"value2", @"key3":@"value3", @"key4":@"value4"};
需要注意的是便利构造器以及init这两种初始化方法是值在前键在后,而字面量是键在前值在后。
常用方法:
1.count。获取字典中键值对的个数
2.allKeys。获取所有键值,返回给一个数组
3.allValues。获取所有值,返回给一个数组
4.objectForKey:。通过key获取字典中的某个value值
可变
初始化方法:
1.initWithCapacity:。参数为分配的容量
2.便利构造器
3.字面量
1 NSMutableDictionary *mDict = [@{@"key1":@"value1", @"key2":@"value2", @"key3":@"value3", @"key4":@"value4"} mutableCopy];
常用方法:
1.setObject:forkey:。增加键值对
2.removeObjectForkey:。根据key删除键值对
3.removeAllObjects:。移除所有键值对
4.setObject:forkey:。修改键值对和增加键值对方法一样,如果key已经存在则修改,不存在则新增
---------未完待续---------