zoukankan      html  css  js  c++  java
  • oc之可变字典创建 添加 删除 遍历

     1 //创建字典
     2         NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc]
     3                                          initWithObjectsAndKeys:@"jay",@"name",
     4                                                                 @"22",@"age",
     5                                                                 @"f",@"gender", nil];
     6         NSLog(@"%@",mutableDic);
     7         //创建空的字典
     8         NSMutableDictionary *mutab=[NSMutableDictionary dictionary];
     9         //将字典mutableDic复制到mutab中
    10         [mutab setDictionary:mutableDic];
    //添加键值对的方式(向字典内添加一组键值)
            NSDictionary *dict1=[NSDictionary dictionaryWithObject:@"166" forKey:@"height"];
            [mutableDic addEntriesFromDictionary:dict1];
            NSLog(@"%@",mutableDic);
            //直接添加方式如果key存在时,就是修改对应的value值,如果不存在则是添加
            [mutableDic setValue:@"66" forKey:@"weight"];
            NSLog(@"%@",mutableDic);
    1 //将字典中对应key的值删除
    2         [mutableDic removeObjectForKey:@"weight"];
    3         //删除一组key对应的value值
    4         [mutableDic removeObjectsForKeys:@[@"height",@"age"]];
    5         //删除所有value值
    6         [mutableDic removeAllObjects];
     1 //遍历
     2         //(1) 1.先找到所有key 2.计算key的个数,用来循环 3.通过key的数组找到对应key的值 (这种方法较慢)
     3         NSArray *keyss=[mutableDic allKeys];
     4         NSUInteger count=[mutableDic count];
     5         for(int i=0;i<count;i++){
     6             id key=[keyss objectAtIndex:i];
     7             NSLog(@"%@",[mutableDic objectForKey:key]);
     8         }
     9         //(2) 快速枚举  for in 语句 注意不能在改循环内对数组进行删除和增加 (即不能改变数组成员个数)
    10         for(id key in mutableDic){
    11             id obj=[mutableDic objectForKey:key];
    12             NSLog(@"%@",obj);
    13         }
    14         //(3)通过枚举对象 进行枚举
    15         //1.将字典里的key转成枚举对象,用于遍历
    16         NSEnumerator *keyenums=[mutableDic keyEnumerator];
    17         id key;
    18         while(key){                        //直到key为空时结束循环
    19             id obj=[mutableDic objectForKey:key];//通过key取到value
    20             NSLog(@"%@",obj);
    21             key=[keyenums nextObject];     //将枚举中下一个对象赋值给key
    22         }
  • 相关阅读:
    C++输入问题探究
    剑指offer自学系列(一)
    一道算法题加深我对C++中map函数的理解
    数据结构和算法自学之排序算法(一)
    pyqt5_01_流程走通
    最新谷歌驱动对照表
    移动端测试
    selenium封装
    request封装
    MD5自定义加密
  • 原文地址:https://www.cnblogs.com/jiangyicheng/p/5112734.html
Copyright © 2011-2022 走看看