一:集合的基本概念

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鄆城,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108

   Foundation框架中,提供了NSSet類,它是一組單值對(duì)象的集合,且NSSet實(shí)例中元素是無(wú)序,同一個(gè)對(duì)象只能保存一個(gè),

并且它也分為可變和不可變的集合對(duì)象(可變集合對(duì)象,NSMutableSet)

二:不可變集合-NSSet

   1:初始化(類似數(shù)組的創(chuàng)建)

      //類似與數(shù)組的構(gòu)建,直接創(chuàng)建一個(gè)集合

NSSet*set1=[[NSSet alloc]initWithObjects:@"one",@"tow", nil];NSLog(@"%@",set1);


    2:通過(guò)數(shù)組的構(gòu)建集合


//通過(guò)數(shù)組進(jìn)行構(gòu)建NSArray*array1=[NSArray arrayWithObjects:@"one",@"tow", nil];NSSet*set2=[NSSetsetWithArray:array1];NSLog(@"%@",set2);
3:通過(guò)已有集合進(jìn)行構(gòu)建
//通過(guò)已有的集合進(jìn)行構(gòu)建
NSSet*set3=[NSSetsetWithSet:set2];NSLog(@"%@",set3);
3:集合對(duì)象的數(shù)量
//集合中常用方法
NSInteger*count=[set3 count];NSLog(@"%ld",count);
4:返回集合中的所有元素
//集合中所有的元素
NSArray*array2=[set3 allObjects];NSLog(@"%@",array2);
5:返回集合中任意一個(gè)元素
//返回集合中任意一個(gè)元素
NSString*str=[set3 anyObject];NSLog(@"%@",str);
6:查詢集合中是否包含某個(gè)元素
//查詢集合中是否存在某個(gè)元素Boolean result1=[set3 containsObject:@"two"];if(result1){    NSLog(@"包含two");}else{    NSLog(@"不包含two");}
7:查詢集合和集合是否有交集
//查詢集合間是否有交集
        BOOL result2=[set1intersectsSet:set2];NSLog(@"%d",result2);
8:集合的匹配
//判斷集合間是否匹配
        BOOL result3=[set1 isEqualToSet:set2];NSLog(@"%d",result3);
9:是否是一個(gè)集合的子集
//是否是一個(gè)集合的子集
        BOOL result4=[set1 isSubsetOfSet:set2];NSLog(@"%d",result4);
10:在一個(gè)集合中添加一個(gè)新元素返回新的集合
NSSet*set5=[NSSetsetWithObjects:@"one",nil];
NSSet*appSet=[set5setByAddingObject:@"tow"];NSLog(@"%@",appSet);
11:在一個(gè)集合中添加一個(gè)集合,返回新的集合
//在一個(gè)集合中添加一個(gè)集合
NSSet*set6=[NSSetsetWithObjects:@"1",@"2", nil];NSSet*appSet1=[set5setByAddingObjectsFromSet:set6];NSLog(@"%@",appSet1);
12:在一個(gè)集合中添加一個(gè)數(shù)組,返回新的集合
//在一個(gè)集合中添加一個(gè)數(shù)字
NSArray*appArray=[NSArray arrayWithObjects:@"x",@"y", nil];NSSet*appSet2=[set5setByAddingObjectsFromArray:appArray];NSLog(@"%@",appSet2);
三:可變集合--NSMutableSet
   1:創(chuàng)建初始化可變集合
//創(chuàng)建初始化可變集合
NSMutableSet*mutableSet1=[NSMutableSetSet];//空集合NSMutableSet*mutableSet2=[NSMutableSetsetWithObjects:@"1",@"2", nil];NSMutableSet*mutableSet3=[NSMutableSetsetWithObjects:@"a",@"2", nil];
2:從集合中去除相同的元素
//兩個(gè)集合去除相同的部分
[mutableSet2 minusSet:mutableSet3]; NSLog(@"%@",mutableSet2);
3:求兩個(gè)集合的公共元素
//求兩個(gè)集合相同的元素
[mutableSet2intersectSet:mutableSet3];NSLog(@"%@",mutableSet2);
4:合并兩個(gè)集合
//兩個(gè)集合進(jìn)行合并
[mutableSet2 unionSet:mutableSet3];NSLog(@"%@",mutableSet2);