zoukankan      html  css  js  c++  java
  • oc76--NSMutableDictionary

    //
    //  main.m
    //  NSMutableDictionary
    //  NSDictionary不可变,初始化后就不可以修改,NSMutableDictionary可变,初始化后可以改变。
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
    
        // 1.创建一个空的字典
        NSMutableDictionary *dictM = [NSMutableDictionary  dictionary];
        NSLog(@"%@", dictM);// {}
        // 2.如何添加
        [dictM setObject:@"lnj" forKey:@"name"];
        NSLog(@"%@", dictM);// {name = lnj;}
        // 会将传入字典中所有的键值对取出来添加到dictM中
        [dictM setValuesForKeysWithDictionary:@{@"age":@"30", @"height":@"1.75"}];
        NSLog(@"%@", dictM);// {age = 30;height = "1.75";name = lnj;}
    
        // 3.如何获取
        NSLog(@"name = %@", dictM[@"name"]);//lnj
        
        // 4.如何删除
        [dictM removeObjectForKey:@"name"];
        NSLog(@"%@", dictM);//{age = 30;height = "1.75";}
        [dictM removeObjectsForKeys:@[@"age", @"height"]];
         NSLog(@"%@", dictM);//{}
        // 5.如何修改
        // 如果利用setObject方法给同名的key赋值, 那么新值会覆盖旧值
        [dictM setObject:@"88" forKey:@"age"];
        dictM[@"age1"] = @"881";
        NSLog(@"%@", dictM);//{age = 88;age1 = 881;}
        
        
        // 1.不能使用@{}来创建一个可变的字典
        NSMutableDictionary *dictM = @{@"name":@"lnj"}; //报错
        [dictM setObject:@"30" forKey:@"age"];
        
        
        // 2.如果是不可变数组, 那么key不能相同
        // 如果是不可变字典出现了同名的key, 那么后面的key对应的值丢弃。
        // 如果是在可变字典中, 后面的会覆盖前面的
        NSDictionary *dict = @{@"name":@"lmj", @"name":@"lnj"};
        NSLog(@"dict = %@", dict);//{name = lmj;}
        
        NSMutableDictionary *dictM1 = [NSMutableDictionary dictionaryWithObjects:@[@"lmj", @"lnj"] forKeys:@[@"name", @"name"]];//{name = lnj;}
        NSLog(@"dict = %@", dictM1);
        
        return 0;
    }
  • 相关阅读:
    SPOJ SAMER08A
    SPOJ TRAFFICN
    CS Academy Set Subtraction
    CS Academy Bad Triplet
    CF Round 432 C. Five Dimensional Points
    CF Round 432 B. Arpa and an exam about geometry
    SPOJ INVCNT
    CS Academy Palindromic Tree
    身体训练
    简单瞎搞题
  • 原文地址:https://www.cnblogs.com/yaowen/p/7441052.html
Copyright © 2011-2022 走看看