温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS开发OC基础:OC集合NSSet、NSMutableSet以及NSCountedSet的基本方法的使用

发布时间:2020-05-25 22:53:56 来源:网络 阅读:2542 作者:winann 栏目:移动开发

集合大家都学过,就是里面的元素具有:确定性、无序性、互异性。

在OC中的集合主要理解的是后面的两个性质。

另外,OC中的NSCountedSet集合可以统计元素在集合中出现的次数,是数学中集合的扩展。

全部源代码为:

#import <Foundation/Foundation.h>

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

    @autoreleasepool {
        
        //集合的特点
        //1.集合是无序的
        //2.集合中的元素都是互异的,不可以重复,如果有重复的元素,则识别为一个元素
        
        //1.创建一个NSSet对象
        NSSet *set = [[NSSet alloc] initWithObjects:@"aa", @"bb", @"cc", @"dd", @"aa", nil];
        NSLog(@"set: %@", set);
        //2.求集合元素个数
        NSUInteger count = [set count];
        NSLog(@"count = %lu", count);
        
        //3.获得集合的元素
        //(1)获得全部元素
        NSArray *members = [set allObjects];
        NSLog(@"%@", members);
        //(2)获得单一元素
        //anyObject随意取一个元素
        NSString *str1 = [set anyObject];
        NSString *str2 = [set anyObject];
        NSString *str3 = [set anyObject];
        NSString *str4 = [set anyObject];
        NSLog(@"str = %@,%@,%@,%@", str1, str2, str3, str4);
        
        //4.判断集合中是否包含某个对象。
        BOOL have = [set containsObject:@"cc"];
        NSLog(@"have = %d", have);
        
        
        //NSMutableSet
        //1.创建一个NSMutableSet对象
        NSMutableSet *mSet = [[NSMutableSet alloc] initWithObjects:@"aa", @"bb", @"cc", @"cc", @"dd", nil];
        //2.添加@"ff"到mSet集合中
        [mSet addObject:@"ff"];
        NSLog(@"mSet = %@", mSet);
        //3.移除掉@"cc"
        [mSet removeObject:@"cc"];
        NSLog(@"remove:%@", mSet);
        
        
        //NSCountedSet
        NSCountedSet *cSet = [[NSCountedSet alloc] initWithObjects:@"aa", @"bb", @"cc", @"cc", @"dd", @"cc", @"dd", nil];
        NSLog(@"cSet:%@", cSet);
        //移除@"cc",
        //removeObject: 对于NSCountedSet对象而言,移除只能移除一个对象,而对于NSMutableSet而言,移除会将所有相同的对象全部移除。
        [cSet removeObject:@"cc"];
        NSLog(@"remove:%@", cSet);
        //添加@"ff"
        //addObject:对于NSCountedSet对象而言,添加对象会增加对象在集合中出现的次数,而对于NSMutableSet而言,如果添加的对象已经存在于集合中,则不会再添加。
        [cSet addObject:@"ff"];
        [cSet addObject:@"dd"];
        NSLog(@"add:%@", cSet);
        
        //获得某个对象在集合中出现的次数
        NSUInteger countInSet = [cSet countForObject:@"dd"];
        NSLog(@"count = %lu", countInSet);
        
        //快速遍历(快速枚举)
        for (NSString *element in mSet) {
            NSLog(@"%@", element);
        }
        
    }
    return 0;
}

本文介绍了OC中的基本集合、可变集合、可计数集合的相应的方法,希望对大家的学习有所帮助。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI