Objective-C:NSSet和NSMutbaleSet的用法

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

}  

posted @ 2015-12-13 15:49  XYQ全哥  阅读(361)  评论(0编辑  收藏  举报