用来学习复习记录,其他优秀的译文,点击这里

一、NSMutableSet

NSMutableSet和NSMutableArray存放数据方式分别是无序和有序,这说明,数组是可以通过index获取对象。

NSMutableSet和NSSet都是集合

她们都有:比较compare 交集instersection 并集union

但是NSMutableSet还可以:查找valueForKey 添加add 删除remove

更多了解复制这里:

 http://blog.csdn.net/ally_ideveloper/article/details/7939749
// 这个人写的我比较喜欢,朴实自然1 http://my.oschina.net/u/1782374/blog/380703 

1.NSSet和NSMutableSet和数组一样只能添加Cocoa对象,如果需要添加基本数据变成NSNumber

2.集合的查找速度比数组高,例如查找某一个value值,数组遍历,集合hash

NSSet 常用方法总结
+(id)setWithObjects:obj1,obj2,...nil 使用一组对象创建新的集合
-(id)initWithObjects:obj1,obj2,.nil 使用一组对象初始化新分配的集合
-(NSUInteger)count 返回集合成员个数
-(BOOL)containsObject:obj 确定集合是否包含对象 obj
-(BOOL)member:obj 确定集合是否包含对象 obj
-(NSEnumerator*)objectEnumerator 返回集合中所有对象到一个 NSEnumerator 类型的对象
-(BOOL)isSubsetOfSet:nsset 判断集合是否是NSSet的子集
-(BOOL)intersectsSet:nsset 判断两个集合的交集是否至少存在一个元素
-(BOOL)isEqualToSet:nsset 判断两个集合是否相等

NSMutableSet 常用方法总结
-(id)setWithCapcity:size 创建一个有size大小的新集合
-(id)initWithCapcity:size 初始化一个新分配的集合,大小为size
-(void)addObject:obj 添加对象 obj 到集合中
-(void)removeobject:obj 从集合中删除对象 obj
-(void)removeAllObjects 删除集合中所有对象
-(void)unionSet:nsset 将nsset的所有元素添加到集合
-(void)minusSet:nsset 从集合中去掉所有的NSSet 的元素
-(void)interectSet:nsset 集合和NSSet 做交集运算

二、NSPointerArray

NSPointerArray类是一个稀疏数组

1.NSPointerArray工作起来与NSMutableArray相似,但可以存储NULL值,通过count获取;

2.可以用NSPointerFunctions对她进行设置,也可用静态函数构造:

+ (NSPointerArray *)strongObjectsPointerArray
+ (NSPointerArray *)weakObjectsPointerArray
05-11 17:57