之前不太明白集合的含义,今天看书才发现集合的主要作用,集合实际上就是可以剔除数组中得重复元素的一个类似数组。
集合初始化为:
NSSet *set=[NSSet setWithArray:array];
NSSet *set=[[NSSet alloc]initWithObjects:.....nil];
NSSet *set=[[NSSet alloc]initWithSet:anotherSet];
NSSet的算法时间复杂度为O(n),而数组的是O(n^2);
NSSet常用方法:
+(id)setWithArray:(NSArray*)ary 通过给定的数组创建一个集合,并且集合包含数组中所有的对象
+(id)setWithObjects:......通过给定的对象创建一个集合,对象列表最后以nil结尾
-(BOOL)containsObject:(id)obj 返回true 如果包含指定对象
-(int)count 返回集合包含元素的个数
-(NSEnumerator*)objectEnumerator 返回集合遍历所有元素的枚举器
-(NSArray*)allObjects 返回集合包含的所有对象
NSMutableSet类常用的方法:
-(id)addObject:(id)obj 添加一个对象到当前集合
-(void)removeObject:(id)obj 删除指定元素
-(void)removeAllObjects 删除所有元素
-(void)minusSet:(NSSet*)set2 移除和set2集合重复得元素
-(void)intersectSet:(NSSet*)set2 保留和set2相同的元素
-(void)unionSet:(NSSet*)set2 将set2的所有对象添加进当前集合