OC - NSSetAndNSMutableSet

来源:互联网 发布:程序员的自我修养txt 编辑:程序博客网 时间:2024/06/08 03:42
<main.m>
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){    @autoreleasepool {               //NSSet                //创建数值对象                NSNumber *num1 = [NSNumber numberWithInt:10];        NSNumber *num2 = [NSNumber numberWithInt:15];        NSNumber *num3 = [NSNumber numberWithFloat:1.1];        NSNumber *num4 = [NSNumber numberWithChar:'a'];                //集合中元素是不允许重复的,如果重复,则不会存入集合中,因为在工程里同等的值会共享开辟的空间        NSSet *aSet = [[NSSet alloc ] initWithObjects:num1,num2,num3,num4,num1, nil];                //获取元素个数        NSInteger count = [aSet count];        NSLog(@"%ld",count);                //获取对象        NSArray *arr = [aSet allObjects];        NSLog(@"%@",arr);        NSLog(@"%@",aSet);        //anyobject 方法,采用遍历取法,所以它只取最方便取出来的值,而不是随机取值        NSNumber *number = [aSet anyObject];        NSLog(@"%@",number);                //遍历        for (NSNumber *num in aSet) {            NSLog(@"%@",num);        }                //判断集合是否包含某个对象        BOOL isContain = [aSet containsObject:num1];        if (isContain) {            NSLog(@"包含 num1");            }else NSLog(@"不包含");                        //NSMutableSet        NSMutableSet *bSet = [[NSMutableSet alloc ]initWithObjects:num1,num2,nil];        NSLog(@"%@",bSet);                //添加        [bSet addObject:num3];        [bSet addObject:num4];        [bSet addObject:[NSNumber numberWithInt:20]];        NSLog(@"%@",bSet);                //删除        [bSet removeObject:num3];        [bSet removeObject:[NSNumber numberWithInt:20]];        NSLog(@"%@",bSet);                //NSCountedSet  是 NSSet 的子类,他可以显示出对象的值和相同数值的对象出现的次数        NSCountedSet *cSet = [[NSCountedSet alloc] initWithObjects:num1,num1,num1 ,num2,nil];        NSLog(@"%@",cSet);        //获取个数时,用 count 还是不会记录重复出现的次数        NSInteger count1 = [cSet count];        NSLog(@"%ld",count1);              // countForObject:  计数重复对象出现的次数        NSLog(@"%ld",[cSet countForObject:num1]);                                //子类是扩充原有类的方法之一                    }    return 0;}

0 0
原创粉丝点击