首页 > 代码库 > 字典基础总结,初学者必备

字典基础总结,初学者必备

<span style="font-size:24px;">  //字典存在的价值:1.大容器,用来存储多个护具.
        //2.用来存储的数据具有一一对应的关系>(使用key来标示value)
        //3.对于字典中的一对键值对(key - value)叫做字典中的一个元素,也叫做一个条目,只要是对象就可以不限制类型.
        //4.字典是无序的
        //5.字典中的key是唯一的,一个key只能对应一个value,一个value可以对应多个key.
        NSLog(@"Hello, World!");
        //1.创建字典对象
        //(!)遍历构造器
        NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhiyuan",@"name",@20,@"shengao",@12,@"age", nil];
        NSLog(@"%@",dic);

        //(2)初始化方法
        NSDictionary *dic1 = [[NSDictionary alloc]initWithObjectsAndKeys:@"zhiyuan",@"name",@20,@"shengao",@12,@"age", nil];
        
        NSLog(@"%@",dic1);
        //2.求字典元素的个数
        
        NSLog(@"%lu",[dic count]);
        //3.获取所有的key
        NSLog(@"%@",[dic allKeys]);

        //4.根据key获取对应的value
        NSLog(@"%@",[dic valueForKey:@"name"]);
        NSLog(@"%@",[dic valueForKey:@"shengao"]);
        NSNumber *a = [dic valueForKey:@"age"];
        NSLog(@"%@",a);
        //5.快速遍历
        //快速遍历:对于数组来说,遍历得到的是数组中的每一个元素.
        //对于字典俩说,遍历得到的是字典中的key,然后通过key获取value
        for (NSString *key in dic) {
            NSLog(@"%@",[dic objectForKey:key]);
        }
        //对于可变字典来说,比不可变字典多了增,删,改;
        //1.创建对象
        NSMutableDictionary *dic5 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang",@"guanggun1",@"xiaomeng1",@"guanggun2",@"xiaomeng2", @"guanggun3",nil];
        //2.求字典元素的个数
        NSLog(@"%ld",[dic5 count]);
        //3.删除元素
        [dic5 removeObjectForKey:@"guanggun1"];
        NSLog(@"%@",dic5);
        [dic5 removeAllObjects];
        NSLog(@"%@",dic5);

        //4.添加元素
        [dic5 setObject:@"chengjie" forKey:@"guanggui1"];
        NSLog(@"%@",dic5);

        //5.修改key对应的value
        [dic5 setObject:@"xiaocui" forKey:@"guanggui1"];
        NSLog(@"%@",dic5);
//setObject: forKey:工作原理:先根据指定的key查找字典中是否存在相同的key.(查找字典中是否存在相同的key)如果存在则修改key对应的value,否则在字典中添加一个元素,key-value键值对.
</span>