NSDictionary 字典

来源:互联网 发布:大数据专业就业待遇 编辑:程序博客网 时间:2024/04/28 07:16


//=============================================

        /*

         NSDictionary 字典

         

         没有顺序的

         成对出现,一对一的关系,覆盖旧的,保存最新的数据

         

         */

       

       //==============================================

        

        //创建字典(空的)

        

//        NSDictionary *dict1=[NSDictionary dictionary];

        

        //创建一个存一个元素的字典

        

        NSDictionary *dict2=[NSDictionary dictionaryWithObject:@"jereh" forKey:@"name"];

        

        //取字典中的数据,通过 forKey

        

        [dict2 objectForKey:@"name"];

        

        NSLog(@"%@",[dict2 objectForKey:@"name"]);

        

      //===============================================

 

       // 输出是配对的,但是顺序不一致,是无序的。

        NSArray *aryValue=@[@"jereh",@"20",@"1"];

        NSArray *aryKeys=@[@"name",@"age",@"no"];

        

        NSDictionary *dict3=[NSDictionary dictionaryWithObjects:aryValue forKeys:aryKeys];

        NSLog(@"字典的信息:%@",dict3);

        

        //存储多个信息,(一个值一个key 。。。。。),可读性差,最好是换行写。方便看

        NSDictionary *dict4=[NSDictionary dictionaryWithObjectsAndKeys:@"jereh",@"name",

                                                                        @"20",@"age",

                                                                        @"1",@"no"nil];

        NSLog(@"%@",dict4);

        

        //快速创建,先放key再放对象。,针对不可变的,可变的不可以快速创建。

        

        NSDictionary *dict5=@{@"name"@"jereh",@"age":@"20",@"no":@"1"};

        

        NSLog(@"%@",dict5);

        

        //计算元素个数,打印的是几对元素,不是几个元素。

        

        NSLog(@"%lu", [dict5 count]);

        

        //取出字典中的全部的key

        

        NSArray *keyAry=[dict5 allKeys];

        

        NSLog(@"\n keyAry==%@",keyAry);

  

        //取出字典中全部的Value

        

        NSArray *valueAry=[dict5 allValues];

        NSLog(@"\n valueAry==%@",valueAry);

        

        //得到当前对象值对应的全部的key值,用数组存放

        

        NSArray *ary = [dict5 allKeysForObject:@"20"];

        

        NSLog(@"==%@",ary);

        

        

        //=================================================

        /*

           NSMutableDictionary 可变的字典

         

         */

        //创建一个可变的空的字典,后续可以继续添加健值对

        

        NSMutableDictionary *dict6=[NSMutableDictionary dictionary];

        

        //添加健值对

        //结果打印出来两条信息,健值是唯一的,覆盖旧的信息,保留新的信息,不允许有重复的key,多次对某个key 赋值的时候只是保留最后一个key 的值。

        

        [dict6 setObject:@"jereh" forKey:@"name"];

        [dict6 setObject:@"apple" forKey:@"name"];

        [dict6 setObject:@"30" forKey:@"age"];

        [dict6 setObject:@"33" forKey:@"price"];

        NSLog(@"%@",dict6);

        

        //删除信息,取出来所有的key

        

        NSArray *ary1=[dict6 allKeys];

        NSLog(@"%@",ary1);

        

//        [dict6 removeAllObjects];删除所有的信息

        [dict6 removeObjectForKey:@"age"];

         NSLog(@"%@",dict6);

        //删除所有的key值,ary1数组中存放的是所有的 key.

        [dict6 removeObjectsForKeys:ary1];

         NSLog(@"%@",dict6);

 

        

        //遍历字典

        

         NSDictionary *dict7=@{@"name"@"jereh",@"age":@"20",@"no":@"1"};

        

        // 1:取出来所有的key

        

//        NSArray *aryK=[dict7 allKeys];

//        

//        for(id obj in aryK){

//            

//            NSLog(@"key=%@ value= %@",obj ,[dict7 objectForKey:obj]);

//        }

//

       

        // 2:不取出来所有的key值,直接在字典中遍历

        

        for(id obj in dict7){

            

            NSLog(@"key=%@ value= %@",obj ,[dict7 objectForKey:obj]);

}


 

 

 

 

 

 

       

        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击