美文网首页
NSSet与NSArray的区别

NSSet与NSArray的区别

作者: 海耐射手 | 来源:发表于2017-12-04 16:16 被阅读0次

记得之前数组去重经常用NSSet来实现,可是觉得自己并不是很了解NSSet,如今有时间研究了一下NSSet,写篇小文章与大家来分享

NSSet的特性: 确定性、无序性、互异性

一、NSSet与NSArray两者功能性质一样,用于存储对象,属于集合。但是和NAArray不一样的是它属于 “无序集合”,在内存中存储方式是不连续的,而NSArray是 “有序集合” 它内存中存储位置是连续的。

二、NSSet的效率确实是比NSArray高的,因为它主要用的是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 做交集运算

相关文章

网友评论

      本文标题:NSSet与NSArray的区别

      本文链接:https://www.haomeiwen.com/subject/mrexixtx.html