OC-字典

一.不可变字典
1.创建一个字典
//    初始化的时候赋值必须成对出现
//    先value(值), 后key;
 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"1",@"2", @"3", @"4", nil];
  NSDictionary *dic1 = [[NSDictionary alloc]initWithDictionary:dic];
    NSDictionary *dicxxx = [[NSDictionary alloc] initWithObjectsAndKeys:@"q",@"w",@"e",@"r" ,nil];
//创建两个数组分别是value数组和key数组   
NSArray *value = [NSArray arrayWithObjects:@"2", @"4", nil];
 NSArray *key= [NSArray arrayWithObjects:@"22", @"44", nil];
    NSDictionary *dic2 = [[NSDictionary alloc] initWithObjects:value forKeys:key];//根据两个数组创建一个字典

## 几种创建字典的方法 ##
 NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"a", @"b", @"c", @"d", nil];//正常
    NSDictionary *dic4 = [NSDictionary dictionaryWithDictionary:dic ];//通过一个字典创建一个字典

    NSDictionary *dic5 = [NSDictionary dictionaryWithObjects:value forKeys:key];//跟局两个数组创建

NSDictionary *dic6 = @{@"k1": @"v1", @"k2":@"v2"};//字面量


//    3.根据key取出对应的value
    NSLog(@"%@", [dic6 objectForKey:@"k1"]);
//    NSLog(@"%@", [dic6 valueForKey:@"k1"]);
//    4.获取所有的key,所有的value
//    NSArray *keys = [dic allKeys];
    NSLog(@"%@", dic6.allKeys);
//    NSArray *Value = [dic allValues];
    NSLog(@"%@", dic6.allValues);
二 可变字典
//    1.创建对象
    NSMutableDictionary *mdic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"a", @"c", @"v", @"e", nil];
//    和不可变字典一样


//    2.向字典内添加对象
    [mdic setObject:@"d" forKey:@"f"];
    NSLog(@"%@", mdic);//字典内的数据(键值对)是无序的

//    3.修改key对应的value
    [mdic setObject:@"b" forKey:@"f"];

//    setobject Forkey的原理: 现查找出对应的key,如果有的话,修改velue, 若果没有的话把key - value 作为元素添加到字典中
//    4.移除元素
//    1)移除某个元素
    [mdic removeObjectForKey:@"a"];
    NSLog(@"%@", mdic);

//    2)移除所有元素
    [mdic removeAllObjects];
// 在字典中,一个key 只能对应一个value, 而一个value 可以对应多个key
//    锁[value]与 钥匙[key]的关系!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值