nsset

#import <Foundation/Foundation.h>  
  
  
int main(int argc, const char * argv[])  
{  
  
    @autoreleasepool {  
          
        NSSet *set1 = [NSSet setWithObjects:@"a", @"b", @"c", @"d", nil];  
        NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", nil];  
        NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];  
        NSSet *set3 = [NSSet setWithArray:array];  
          
        NSLog(@"set1 :%@", set1);  
        NSLog(@"set2 :%@", set2);  
        NSLog(@"set3 :%@", set3);  
          
        //获取集合个数  
        NSLog(@"set1 count :%d", set1.count);  
          
        //以数组的形式获取集合中的所有对象  
        NSArray *allObj = [set2 allObjects];  
        NSLog(@"allObj :%@", allObj);  
          
        //获取任意一对象  
        NSLog(@"anyObj :%@", [set3 anyObject]);  
          
        //是否包含某个对象  
        NSLog(@"contains :%d", [set3 containsObject:@"obj2"]);  
          
          
        //是否包含指定set中的对象  
        NSLog(@"intersect obj :%d", [set1 intersectsSet:set3]);  
          
        //是否完全匹配  
        NSLog(@"isEqual :%d", [set2 isEqualToSet:set3]);  
          
        //是否是子集合  
        NSLog(@"isSubSet :%d", [set3 isSubsetOfSet:set1]);  
          
          
          
        NSSet *set4 = [NSSet setWithObjects:@"a", @"b", nil];  
        NSArray *ary = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];  
        NSSet *set5 = [set4 setByAddingObjectsFromArray:ary];  
        NSLog(@"addFromArray :%@", set5);  
          
          
          
          
        NSMutableSet *mutableSet1 = [NSMutableSet setWithObjects:@"1", @"2", @"3", nil];  
        NSMutableSet *mutableSet2 = [NSMutableSet setWithObjects:@"a", @"2", @"b", nil];  
        NSMutableSet *mutableSet3 = [NSMutableSet setWithObjects:@"1", @"c", @"b", nil];  
          
        //集合元素相减  
        [mutableSet1 minusSet:mutableSet2];  
        NSLog(@"minus :%@", mutableSet1);  
          
        //只留下相等元素  
        [mutableSet1 intersectSet:mutableSet3];  
        NSLog(@"intersect :%@", mutableSet1);  
          
        //合并集合  
        [mutableSet2 unionSet:mutableSet3];  
        NSLog(@"union :%@", mutableSet2);  
          
        //删除指定元素  
        [mutableSet2 removeObject:@"a"];  
        NSLog(@"removeObj :%@", mutableSet2);  
          
          
        //删除所有数据  
        [mutableSet2 removeAllObjects];  
        NSLog(@"removeAll :%@", mutableSet2);  
          
    }  
    return 0;  
}  


日志:


[plain] view plain copy
 set1 :{(  
    d,  
    b,  
    c,  
    a  
)}  
 set2 :{(  
    1,  
    2,  
    3  
)}  
 set3 :{(  
    a,  
    b,  
    c  
)}  
 set1 count :4  
 allObj :(  
    1,  
    2,  
    3  
)  
 anyObj :a  
 contains :0  
 intersect obj :1  
 isEqual :0  
 isSubSet :1  
 addFromArray :{(  
    3,  
    b,  
    1,  
    4,  
    2,  
    a  
)}  
 minus :{(  
    1,  
    3  
)}  
 intersect :{(  
    1  
)}  
 union :{(  
    b,  
    1,  
    2,  
    a,  
    c  
)}  
 removeObj :{(  
    b,  
    1,  
    2,  
    c  
)}  
 removeAll :{(  
)}  

你可能感兴趣的:(nsset)