記得之前數組去重經常用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 做交集運算