NSSet -- 集合&&NSMutableSet -- 可变集合

本文介绍了NSSet和NSMutableSet在Objective-C中的基本操作,包括创建、获取元素个数、判断元素是否存在、添加与删除元素,以及如何遍历集合。通过示例代码展示了它们在不可变和可变集合上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//
//  main.m
//  OC05-task-03
//
//  Created by Xin the Great on 15-1-25.
//  Copyright (c) 2015年 Xin the Great. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        ///NSSet -- 集合
        
        //不可变
        
        //集合没有重复的元素,而且无序
        NSSet *set = [[NSSet alloc] initWithObjects:@"a",@"b",@"a", nil];
        NSLog(@"set is %@",set);
        
        //类方法初始化
        NSSet *set1 = [NSSet setWithObjects:@"1",@"2",@"x",@"y", nil];
        NSLog(@"set1 is %@",set1);

        
        //获取集合元素的个数
        NSUInteger count = [set1 count];
        NSLog(@"count is %ld", count);
        
        //获取所有的集合元素
        NSArray *list = [set1 allObjects];
        NSLog(@"list is %@", list);
        
        //获得任意一个元素
        id value = [set1 anyObject];
        NSLog(@"value is %@", value);
        
        //判断集合中是否包含某一个元素
        BOOL isTure = [set1 containsObject:@"u"];
        NSLog(@"isTure is %d", isTure);
        
        
        NSMutableSet -- 可变集合
        NSMutableSet *mutableSet = [NSMutableSet set];
        //添加元素
        [mutableSet addObject:@"x"];
        NSLog(@"mutableSet is %@", mutableSet);
        
        //批量添加
        NSArray *values = @[@"1", @"2", @"3", @"3", @"3"];
        [mutableSet addObjectsFromArray:values];
        NSLog(@"mutableSet is %@", mutableSet);
        
        //删除元素
        [mutableSet removeObject:@"x"];
        NSLog(@"mutableSet is %@", mutableSet);
        
        //删除所有
        [mutableSet removeAllObjects];
        NSLog(@"mutableSet is %@", mutableSet);
        
        
        //集合的遍历
        NSSet *set3 = [NSSet setWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];
        
        //传统遍历,对集合来说必须要转化为数组
        NSArray *arr3 = [set3 allObjects];
        for (int i = 0; i < set3.count; i++) {
            //不可以通过下标取元素
//            NSString *str = set3[i];
            NSString *str = arr3[i];
            NSLog(@"str is %@", str);
        }
        
        NSLog(@"------------------------------------------");
        //快速遍历
        for (NSString *str in set3) {
            NSLog(@"str is %@", str);
        }



        
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值