程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [Objective-C]OC中集合基本概念和常用方法(NSSet)

[Objective-C]OC中集合基本概念和常用方法(NSSet)

編輯:關於C語言

一:集合的基本概念

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved