OC基础学习——字典和可变字典

/*

         字典的定义:字典的元素是键值对,

特点:

1.同一个value可以变多个key

         2.一个key只能对应一个value。结构是无序的。

         3.理论上keyvalue是可以是任意对象,实际上key一般用NSString

         */

        

        

        //1.创建字典(类方法和对象方法)

        NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"yangjie",@"1",@"pengyue",@"2", nil];

        NSLog(@"%@",dic);

        

        NSLog(@"%@",[dic valueForKey:@"1"]);

        

        //1.1快速创建字典并对赋值(这是keyvalue的对应关系)

        

        NSDictionary *dic1 = @{@"key1":@"1",@"key2":@"1",@"key3":@"value3"};

        

        NSLog(@"%@",dic1);

        

        //2.字典的遍历

        

        //2.1枚举法(遍历的是value或者是key)

        //2.1.1keyEnumerator是遍历键,如果是objectEnumerator遍历的是值

        NSEnumerator *rator = [dic objectEnumerator];

        id obj;

        while(obj = [rator nextObject])

        {

            NSLog(@"value=%@",obj);

        }

        

        //2.2快速遍历(遍历的是key且只能遍历)

        

        for(id key in dic)

        {

            NSLog(@"key=%@ value=%@",key,[dic valueForKey:key]);

        }

        

        //3.常见的方法

        

        NSArray *keys = [dic allKeys];//.获取所有键

        NSLog(@"%@",keys);

        NSArray *values = [dic allValues];//.获取所有值

        NSLog(@"%@",values);

        

        NSLog(@"count=%lu",dic.count);//.获取键值对的个数

        

        //3.1获取某个value对应所有的key

        NSArray *arr = [dic1 allKeysForObject:@"1"];

        

        NSLog(@"%@",arr);

        

        

        //__________可变字典___________

        

        NSMutableDictionary *dic4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",@"value3",@"key3", nil];

        

        //1.增加键值对

        

        //1.1.如果增加的键值对,key存在,修改value,不存在则增加

        

      [dic4 setObject:<#(id)#> forKey:<#(id<NSCopying>)#>]

        

        //1.2如果key有交叉则修改value

        

      [dic4 addEntriesFromDictionary:<#(NSDictionary *)#>]

        

        

        //2.1通过key删除value

        [dic4 removeObjectForKey:<#(id)#>]

        

        //2.2通过key的集合删除

        

       [dic4 removeObjectsForKeys:<#(NSArray *)#>]

        


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值