字典与集合类总结(最强王者组:王振波,胡鹏飞,孙晓萌,张西辉)

本文详细介绍了Objective-C中的NSDictionary、NSMutableDictionary、NSSet及NSMutableSet类的使用,包括创建、获取元素个数、遍历、增删改查等核心方法,帮助理解这些数据结构在实际编程中的应用。

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

    字典存在的价值:1.大容器,用来存储多个数据 2.用来存储的数据具有一一对应的关系,(使用key来标识value)  3.对于字典的一对键值对(key-value)叫做字典中的一个元素,也叫一个条目,只要使对象就可以,不限制类型  4.字典是无序的, 5.字典中的key是唯一的,一个key只能对应一个value ,一个value可以对应多个key
一.NSDictionary类的一些方法
1.创建字典对象
        (1).便利构造器
        NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhiyuan",@"name",@20,@"shenggao",@26,@"age" ,nil];
        NSLog(@"%@",dic);
        (2).初始化方法
        NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhiyuan",@"name",@20,@"shenggao",@26,@"age" , nil];
        NSLog(@"%@",dic1);
2.求字典元素个数
        NSUInteger count = [dic1 count];
        NSLog(@"%lu",count);
3.获取所有的key
        NSArray *keys = [dic allKeys];
        NSLog(@"%@",keys);
4.根据key获取对应的value
        NSString *value = [dic objectForKey:@"name"];
        NSLog(@"%@",value);
        NSNumber * number = [dic objectForKey:@"age"];
        NSLog(@"%@",number);
5.字典快速遍历
        //快速遍历:对于数组来说,遍历到的是数组中的每一个元素,对于字典来说,遍历得到的是字典的key,然后通过key获取value
        for ( NSString *key  in dic) {
            //检索到key之后,通过objectForKey:获取key对应的value
            NSLog(@"%@",[dic objectForKey:key]);
        }
二.  NSMutableDictionary 类的一些方法
   对于可变字典来说,比不可变字典多了增加,删除,修改操作
1.创建对象
        NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"guang",@"gun",@"xiao",@"guan",@"shuai",@"gn", nil];
        NSLog(@"%@",dic);
2.求字典的元素个数
        NSLog(@"%lu",[dic count]);
3.删除元素
        [dic removeObjectForKey:@"gun"];
        NSLog(@"%@",dic);
        [dic removeAllObjects];
        NSLog(@"%@",dic);
4.添加元素
        [dic setObject:@"xiaocui" forKey:@"gun"];
        NSLog(@"%@",dic);
        
5.修改key对应的value
        [dic setObject:@"chengjie" forKey:@"gun"];
        NSLog(@"%@",dic);
//setObject:forKey:工作原理:先根据指定的key查找字典中是否存在相同的key.如果存在,则修改key对应的value,如果不存在,在字典中添加一个元素,key-value键值对.
三.NSSet 类的一些方法
1.创建集合对象
        //便利构造器
        NSSet *set1 = [NSSet setWithObjects:@"9",@"9",@"6",@"5", nil];
        NSLog(@"%@",set1);
        //初始化方法
        NSSet *set2 = [[NSSet alloc] initWithObjects:@"1",@"2",@"6",@"5", nil];
        NSLog(@"%@",set2);
2.获取元素个数
        NSLog(@"%lu",[set1 count]);
3.获取集合中的某个元素
        NSString *str =[set1 anyObject];
        NSLog(@"%@",str);
        NSString *str1 =[set1 anyObject];
        NSLog(@"%@",str1);
        NSString *str2 =[set1 anyObject];
        NSLog(@"%@",str2);
        NSString *str3 =[set1 anyObject];
        NSLog(@"%@",str3);

4.判断集合中是否包含某个元素
        BOOL isCon = [set1 containsObject:@"10"];
        NSLog(@"%d",isCon);
    }
四. NSMutableSet类的一些方法 
    //可变集合
    NSMutableSet *set3 = [NSMutableSet setWithObjects:@"1",@"2",@"6",@"5", nil];
1.添加元素
    [set3 addObject:@"9"];
    NSLog(@"%@",set3);
2.移除元素
    [set3 removeObject:@"2"];
    NSLog(@"%@",set3);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值