一:集合的基本概念

   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);