oc字典

本文详细介绍了字典作为数据存储容器的功能和特点,包括其作为大容器、存储一一对应关系、无序性以及唯一性的特性。文章还展示了如何创建字典、计算元素数量、获取所有键和值,以及在可变字典中进行增删改操作。

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

字典存在的价值

1.大容器,用来存储多个数据

2.用来存储的数据具有一一对应关系(使用key来标识value)

3.对于字典的一对键值对(key - value)叫做字典中的一个元素,也叫做一个条目,只要是对象就可以,不限限制类型

4.字典是无序的

5.字典中的key值是唯一的,一个key值只能对应一个value,一个value可以对应多个key


NSDictionary

1.创建字典对象

 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"志远",@"name" ,@20,@"height",@12,@"age",nil];name = 志远

 NSLog(@"dic = %@",dic);

(1)便利构造器

(2)初始化方法

NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"志远",@"name" ,@20,@"height",@12,@"age", nil];

NSLog(@"dict = %@",dict);


2.求字典元素个数

      NSInteger count = [dict count];

      NSLog(@"count = %ld",(long)count);

3.获取所有的key

      NSArray *keys = [dict allKeys];

      NSLog(@"keys = %@",keys);

4.根据key获取对应的value(对象)

     NSString *name = [dic objectForKey:@"name"]; 

      NSLog(@"name = %@",name);

     NSString *height = [dic objectForKey:@"height"];

      NSNumber *height = [dic objectForKey:@"height"];

    [height length];不能识别的方法发给一个地址

        NSLog(@"height = %@",height);

5.字典快速遍历

      对于数组来说,遍历得到的是数组中的每一个元素,

      对于字典来说,遍历得到的是字典中的key,然后通过key获取value

        for (NSString *key in dic) {

       检索到key之后,通过objectForKey:获取key对应的value

           NSLog(@"%@",[dic objectForKey:key]);

       }

        

        对于可变字典来说,必不可变字典多了增加删除,修改操作

        1.创建对象

        NSMutableDictionary *di = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang",@"guanggun1",@"xiaomeng",@"guanggun2",@"xiaodiao",@"guanggun3", nil];

    

        2.求字典中元素个数

        NSLog(@"%ld",[di count]);

        3.删除元素

        [di removeObjectForKey:@"guanggun1"];

        NSLog(@"%@",di);

        [di removeAllObjects];

        NSLog(@"%@",di);

        4.添加元素

        [di setObject:@"chengjie" forKey:@"guanggun4"];

        NSLog(@"%@",di);

        5.修改key中对应的value

        [di setObject:@"xiaocui" forKey:@"guanggun4"];

        NSLog(@"%@",di);

        etObject  forKey:  工作原理:现根据指定的key查找字典中是否存在相同的key,(查找字典中是否存在指定的key),如果存在则修改key对应的value,如果没有,则添加一个元素,key-value键值对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值