NSArray和NSSet的区别

2017-03-19  本文已影响0人  shenchao123444

1.NSSet,NSArray都是类,只能添加对象,如果需要加入基本数据类型(int,float,BOOL,double等),需要将数据封装成NSNumber类型。

2.由于NSSet是用hash实现的所以就造就了它查询速度比较快,但是我们不能把某某对象存在第几个元素后面之类的有关下标的操作。

hash:散列,也可直译为“哈希”,我不知道怎么说他,有兴趣可以百度百科一下

无序集合:集合里的元素只能遍历

有序集合:集合里的元素可以根据key或index访问

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 做交集运算
上一篇下一篇

猜你喜欢

热点阅读