集合的操作:NSSet和NSMutableSet

之前不太明白集合的含义,今天看书才发现集合的主要作用,集合实际上就是可以剔除数组中得重复元素的一个类似数组。


集合初始化为: 

 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的所有对象添加进当前集合

你可能感兴趣的:(ios)