一:集合的基本概念 Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个, 并且它也分为可变和不可变的集合对象(可变集合对象,NSMutableSet) 二:不可变集合-NSSet 1:初始化(类似数组的创建) //类似与数组的构建,直接创建一个集合 NSSet *set1=[[NSSet alloc]initWithObjects:@"one",@"tow", nil]; NSLog(@"%@",set1); 2:通过数组的构建集合 //通过数组进行构建 NSArray *array1=[NSArray arrayWithObjects:@"one",@"tow", nil]; NSSet *set2=[NSSet setWithArray:array1]; NSLog(@"%@",set2); 3:通过已有集合进行构建 //通过已有的集合进行构建NSSet *set3=[NSSet setWithSet:set2]; NSLog(@"%@",set3);3:集合对象的数量 //集合中常用方法NSInteger *count=[set3 count]; NSLog(@"%ld",count);4:返回集合中的所有元素 //集合中所有的元素NSArray *array2 =[set3 allObjects]; NSLog(@"%@",array2);5:返回集合中任意一个元素 //返回集合中任意一个元素NSString *str=[set3 anyObject]; NSLog(@"%@",str);6:查询集合中是否包含某个元素 //查询集合中是否存在某个元素 Boolean result1=[set3 containsObject:@"two"]; if(result1){ NSLog(@"包含two"); }else{ NSLog(@"不包含two"); }7:查询集合和集合是否有交集 //查询集合间是否有交集BOOL result2= [set1 intersectsSet:set2]; NSLog(@"%d",result2);8:集合的匹配 //判断集合间是否匹配BOOL result3=[set1 isEqualToSet:set2]; NSLog(@"%d",result3);9:是否是一个集合的子集 //是否是一个集合的子集BOOL result4=[set1 isSubsetOfSet:set2]; NSLog(@"%d",result4);10:在一个集合中添加一个新元素 返回新的集合 NSSet *set5=[NSSet setWithObjects:@"one",nil];NSSet *appSet=[set5 setByAddingObject:@"tow"]; NSLog(@"%@",appSet);11:在一个集合中添加一个集合,返回新的集合 //在一个集合中添加一个集合NSSet *set6=[NSSet setWithObjects:@"1",@"2", nil]; NSSet *appSet1=[set5 setByAddingObjectsFromSet:set6]; NSLog(@"%@",appSet1);12:在一个集合中添加一个数组,返回新的集合 //在一个集合中添加一个数字NSArray *appArray=[NSArray arrayWithObjects:@"x",@"y", nil]; NSSet *appSet2=[set5 setByAddingObjectsFromArray:appArray]; NSLog(@"%@",appSet2);三:可变集合--NSMutableSet 1:创建初始化可变集合 //创建初始化可变集合NSMutableSet *mutableSet1=[NSMutableSet Set];//空集合 NSMutableSet *mutableSet2=[NSMutableSet setWithObjects:@"1",@"2", nil]; NSMutableSet *mutableSet3=[NSMutableSet setWithObjects:@"a",@"2", nil];2:从集合中去除相同的元素 //两个集合去除相同的部分[mutableSet2 minusSet:mutableSet3]; NSLog(@"%@",mutableSet2);3:求两个集合的公共元素 //求两个集合相同的元素[mutableSet2 intersectSet:mutableSet3]; NSLog(@"%@",mutableSet2);4:合并两个集合 //两个集合进行合并[mutableSet2 unionSet:mutableSet3]; NSLog(@"%@",mutableSet2); |
【Objective-C】OC中集合基本概念和常用方法(NSSet)
原创jiangqq900826 ©著作权
©著作权归作者所有:来自51CTO博客作者jiangqq900826的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:【Objective-C】OC中类别(Category)基本概念与用法
下一篇:【Objective-C】OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Objective-C的反射
我第一次接触Java的时候就觉得整个反射包都很新颖,它使得Java和解释型的脚本语言更接近了,与此同时也拉开了和主流的C和C++的距离。在运行时可以窥
Objective C objective-c java c++