IOS学习笔记二十NSSet和NSMutableSet

1、NSSet、NSMutableSet

NSSet元素无序、不能重复

NSMutableSet元素无序、不能重复,有一些向集合中增加元素的功能、删除元素.......

2、测试Demo

int main(int argc, char * argv[]) {
    @autoreleasepool {

        NSSet *set = [NSSet setWithObjects:@"chenyu", @"hello", @"word", @"see", nil];
        set = [set setByAddingObject:@"chenxuan"];
        for (id object in set)
        {
            NSLog(@"%@", object);
        }
        NSSet *set1 = [NSSet setWithObjects:@"chenyu1", @"hello1", @"word", @"see", @"see", @"hello1", nil];
        //set和set1的并集
        NSLog(@".......");
        NSSet *s = [set setByAddingObjectsFromSet:set1];
        for (id object in s)
        {
            NSLog(@"%@", object);
        }
        //是否有交集
        NSLog(@"set1 和 set 是否有交集:%d", [set1 intersectsSet:set]);
        //set1是否是set集合的子集

        BOOL bo = [set1 containsObject:@"see"];
        NSLog(@"set1 是否包含 see %d", bo);

        NSLog(@"-------");
        NSMutableSet *set2 = [NSMutableSet setWithCapacity:10];
        [set2 addObject:@"chenyu"];
        [set2 addObject:@"hello"];
        [set2 addObject:@"hello"];
        [set2 addObject:@"hello"];
        [set2 addObject:@"hello1"];
        [set2 addObject:@"hello3"];
        NSLog(@"-------");
        for (id object in set2)
        {
            NSLog(@"%@", object);
        }
        NSLog(@"-------");
        [set2 removeObject:@"hello1"];
        for (id object in set2)
        {
            NSLog(@"%@", object);
        }
    }
}

3、运行结果

2018-07-18 23:26:20.748305+0800 cyTest[33554:12766983] hello
2018-07-18 23:26:20.748415+0800 cyTest[33554:12766983] chenyu1
2018-07-18 23:26:20.748554+0800 cyTest[33554:12766983] word
2018-07-18 23:26:20.749114+0800 cyTest[33554:12766983] set1 和 set 是否有交集:1
2018-07-18 23:26:20.749626+0800 cyTest[33554:12766983] set1 是否包含 see 1
2018-07-18 23:26:20.749838+0800 cyTest[33554:12766983] -------
2018-07-18 23:26:20.750052+0800 cyTest[33554:12766983] -------
2018-07-18 23:26:20.773300+0800 cyTest[33554:12766983] chenyu
2018-07-18 23:26:20.789523+0800 cyTest[33554:12766983] hello1
2018-07-18 23:26:20.791472+0800 cyTest[33554:12766983] hello3
2018-07-18 23:26:20.791896+0800 cyTest[33554:12766983] hello
2018-07-18 23:26:20.797038+0800 cyTest[33554:12766983] -------
2018-07-18 23:26:20.800879+0800 cyTest[33554:12766983] chenyu
2018-07-18 23:26:20.804327+0800 cyTest[33554:12766983] hello3
2018-07-18 23:26:20.804808+0800 cyTest[33554:12766983] hello
(0)

相关推荐