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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值