zoukankan      html  css  js  c++  java
  • 字典

    /*
        //数组 + 字典 + 集 = 集合
        //键(key) 值(Value) 对 是一个整体
        //输出大括号是字典,小括号是数组
    //不可变字典
    //创建一个字典
      //1.正常的初始化方法
        NSDictionary *dict1=[[NSDictionary alloc] initWithObjectsAndKeys:@"张三",@"name",@"男",@"sex",@"18",@"age", nil];
      //输出方法一(创建方式1)
        NSLog(@"%@",dict1);//哈希hash排序输出,汉字输出的是4位数的编码
      //输出方法二(创建方式2)
        
      //使用数组创建
        NSArray *keyArray=[NSArray arrayWithObjects:@"name",@"sex",@"age", nil];
        NSArray *valueArray=[NSArray arrayWithObjects:@"张三",@"男",@"18", nil];
       
      //将两个数组放在一个字典里面
      NSDictionary *dict2=[[NSDictionary alloc] initWithObjects:valueArray forKeys:keyArray];
        NSLog(@"%@",dict2);
     
      //输出方法3(创建方式3)
        //使用字典创建字典
        NSDictionary *dict3=[NSDictionary dictionaryWithDictionary:dict2];
        NSLog(@"%@",dict3);
        
    //字典的使用(常用方法)
        //取出字典中所有的key值
        NSArray *arr1=[dict3 allKeys];
        NSLog(@"%@",arr1);
        
      //取出字典中所有的value值
        NSArray *arr2=[dict3 allValues];
        NSLog(@"%@",arr2);
        
      //根据指定key值 返回key对应的value值
        NSString *s1=[dict3 objectForKey:@"name"];
        NSLog(@"%@",s1);
        
        //value值可以是任意类类型  key值: NSSring类型
        //能够当key值的,都需要遵循NSCopying协议
        
        
        Person *p=[[Person alloc] initWithName:@"张三" age:18];
        Person *p1=[[Person alloc] initWithName:@"李四" age:20];
        Person *p2=[[Person alloc] initWithName:@"王二" age:25];
        
        NSArray *keyArray1=[NSArray arrayWithObjects:@"张三",@"李四",@"王二" ,nil];
        NSArray *valueArray1=[NSArray arrayWithObjects:p,p1,p2,nil];
        NSDictionary *dict4=[[NSDictionary alloc] initWithObjects:valueArray1 forKeys:keyArray1];
        NSLog(@"%@",dict4);
        
     
        NSLog(@"%@",p);
        
        
        
        
    //可变字典(继承于不可变字典)
    //创建一个空的字典
        NSMutableDictionary *mdict1=[NSMutableDictionary dictionary];
        
      //添加元素
        [mdict1 setObject:@"Tom" forKey:@"name"];
        NSLog(@"%@",mdict1);

      //删除元素
        [mdict1 removeObjectForKey:@"name"];
        NSLog(@"%@",mdict1);
        
        
      //往空字典添加三个元素
        [mdict1 setObject:@"a" forKey:@"1"];
        [mdict1 setObject:@"b" forKey:@"2"];
        [mdict1 setObject:@"c" forKey:@"3"];
        NSLog(@"%@",mdict1);
        
      //修改元素:首先找key值,看有没有key值,如果有就用新value值修改value值,如果没有那就直接添加(根据key改value)
        //有则改之,无则加勉.
        [mdict1 setObject:@"x" forKey:@"1"];
        NSLog(@"%@",mdict1);
        */
        
        
        /*
        Student *stu1=[[Student alloc] initWithName:@"tony"];
        NSLog(@"%@",stu1);
        */
        
        /*
        Person *person1=[[Person alloc] initWithName:@"tony" age:20];
        Person *person2=[[Person alloc] initWithName:@"mike" age:18];
        Person *person3=[[Person alloc] initWithName:@"joek" age:25];
        
         
         //初始化一个空字典
        NSMutableDictionary *mdict1=[NSMutableDictionary dictionary];
        [mdict1 setObject:person1 forKey:[person1 name]];
        [mdict1 setObject:person2 forKey:[person2 name]];
        [mdict1 setObject:person3 forKey:[person3 name]];
        NSLog(@"%@",mdict1);
        
       
         //数组,字典嵌套
        NSMutableDictionary *mdict2=[NSMutableDictionary dictionaryWithDictionary:mdict1];
        NSArray *arr1=[NSArray arrayWithObjects:mdict1 ,mdict2,nil];
        NSDictionary *dict1=[NSDictionary dictionaryWithObject:arr1 forKey:@"person"];
        
        NSLog(@"%@",dict1);
     
        
        
        NSArray *arr2=[dict1 valueForKey:@"person"];//用数组接收
        NSDictionary *dict2=arr2[0];//用字典接收
        Person *p=[dict2 valueForKey:@"mike"];
        NSLog(@"%@",p);

  • 相关阅读:
    用了它,你不再羡慕别人家的数据可视化效果多好看
    数据可视化分析除了需要编码的Python,还有更简单的方式吗?
    【实战】SpringBoot + KafKa实现生产者和消费者功能
    利用org.mybatis.generator生成实体类
    企业有了ERP为什么还需要大数据分析,它能为企业解决什么问题?
    四款最受欢迎的大数据可视化工具
    教您通过NBI大数据可视化工具零编码轻松实现桑基图的制作
    用它来做数据可视化分析,真的很简单,老板夸我效率高
    分享一款简单易用的大数据可视化分析工具
    大数据平台常见开源工具有哪些?
  • 原文地址:https://www.cnblogs.com/-ios/p/4672979.html
Copyright © 2011-2022 走看看