OC第五节 NSArray(数组)、NSDictionary(字典)、NSSet(集合)
1、数组是有序的,下标从0开始,只能存放对象类型的元素
2、数组的创建⽅法?数组的两个原始⽅法?分割字符串,合并字符串?获取某个对象所在的下标?
①. 初始化方法:多个对象之间以逗号隔开,并且最后一个对象后加 ,nil
initWithObject: NSString *… ,nil,arrayWithObject:便利构造器
②.两个原始方法:count 求数组的元素个数
objectAtIndex:通过下标找到指定元素
③.常用方法:containsObject 判断数组中是否包含某个元素
indexOfObject 获取某个元素的数组下标
componentsSeparatedByString 通过数组实现分割字符串
componentsJoinedByString:后接符号将数组拼接成字符串
3、可变数组?初始化⽅法?添加元素的⽅法?删除元素的⽅法?4个。交换两个下标下的元素?⽤⼀个对象替换某个下标下的对象?
①.初始化方法:
initWithCapacity 生成一个空间,可以给一个容量
arrayWithCapacity 便利构造器,同上
②.常用方法:
addObject 往可变数组中添加元素
insertObject 往可变数组的指定位置插入一个新的元素
removeObject (removeObjectAtIndex) 移除某个指定(某个下标)元素
removeLastObject (removeAllObject) 移除数组最后一个(所有)元素
replaceObjectAtIndex: … withObjectAtIndex:…有后面的元素替换指定位置元素
exchangeObjectAtIndex: … withObjectAtIndex: … 交换可变数组中两个元素的位置
4、字典的创建⽅法?获取所有key和value?count键值对的个数。获取value的⽅法?
〇字典(NSDictionary)是有一个个键值对( value和key )组成的,一个key对应一个value,value可以是其他集合类型后字符串,key不能重合,Value可以重合,并且字典是一个无序集合
①.初始化方法:
initWithObjectsAndKeys: …. ,nil(先给value,再给key)
dictionaryWithObjectsAndKeys: …. ,nil 便利构造器
笑笑语法、语法糖、字面量都是简化的初始化方法,都是差不多的意思
②.常用方法:
count 获取字典中键值对个数
allKeys(allValue) 获取所有的 key和 value
objectForKey 通过key获取字典中的某个value值
5、可变字典创建⽅法?增加键值对、修改键值对?删除键值对的⽅法?
〇可变字典(NSMutableDictionary)是字典的子类,增加了一些方法
①.初始化方法:
initWithCapacity(dictionaryWithCapacity)
②.常用方法:
setObject: … forKey: … 修改或增加键值对
removeObjectForKey 通过key删除某个键值对
removeAllObjects 删除所有键值对
6、字典的特点?⽆序,键唯⼀,字典中的value以及key都是对象类型的。
7、集合,⽆序,元素不能重复,集合元素必须确定,多⽤于处理重⽤,元素都是对象类型。
①.初始化方法:
initWithObjects (setWithObjects)
②.常用方法:
count 获取集合中对象的个数
allObject 获取集合中所有对象
anyObject 随机获取集合中的一个对象
8、可变集合添加元素的⽅法?判断是否包含某个对象?
addObject 添加元素的方法
containsObject 判断集合中是否包含某个对象
9、计数集合?获取计数中某个对象出现的次数?
NSCountedSet 计数集合
countForObject 某个对象出现次数