一:集合的基本概念

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