zoukankan      html  css  js  c++  java
  • OC 字典

    //
    //  main.m
    //  nsDictionary
    //
    //  Created by syrcfwzx on 16/1/8.
    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            
            //注意key 通常是字符串对象
            NSMutableDictionary* dic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"jay",@"name",@"22",@"age",@"f",@"gender", nil];
             NSLog(@"%@",dic);
            NSDictionary* dic1 = [NSDictionary dictionaryWithObject:@"166" forKey:@"height"];
            [dic addEntriesFromDictionary:dic1];
            NSLog(@"%@",dic);
            [dic setObject:@"66" forKey:@"weight"];
             NSLog(@"%@",dic);
            //遍历
            //1.先找到所有的key 2计算key的个数
            NSArray* array = [dic allKeys];
            NSInteger count = [dic count];
            for(int i = 0;i<count;i++)
            {
                id key = [array objectAtIndex:i];
                NSLog(@"%@",[dic objectForKey:key]);
            }
            //for in语法
            for(id key in array)
            {
                id obj=[dic objectForKey:key];
                NSLog(@"%@",obj);
            }
            //block遍历
            [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
            
                NSLog(@"key=%@ obj=%@",key,obj);
            }];
            //3通过枚举对象进行枚举
            //将字典里的key转成枚举对象 用于遍历
            NSEnumerator* enumerator = [dic keyEnumerator];
            id key;
            while (key=[enumerator nextObject]) {
                id obj3 = [dic objectForKey:key];
                NSLog(@"%@",obj3);
            }
            
            
        }
        return 0;
    }
    

    //课上实例

    //
    //  main.m
    //  dictionary-01
    //
    //  Created by syrcfwzx on 16/1/7.
    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            
            //key一般为nsstring
            NSDictionary* dic = [NSDictionary dictionaryWithObject:@1 forKey:@"1"];
            NSDictionary* dic2 = @{@"1":@1,@"2":@2};
            
            NSDictionary* dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"1",@2,@"2",@3,@"3", nil];
            
            NSArray* array = @[@1,@2,@3];
            NSArray* array2 = @[@"1",@"2",@"3"];
            NSDictionary* dic4 = [NSDictionary dictionaryWithObjects:array forKeys:array2];
            
            //字典对象的使用
            //通过key遍历
            for(id key in dic3)
            {
                id obj = [dic3 objectForKey:key];
                NSLog(@"%@",obj);
    
            }
            
            NSDictionary* concent = @{@"name":@"Tom",
                                      @"age":@25,
                                      @"tel":@"13888888888",
                                      @"email":@"tom@qq.com"
                                      };
            
            NSDictionary* concent2 = @{@"name":@"Jerry",
                                      @"age":@23,
                                      @"tel":@"13884888888",
                                      @"email":@"jerry@qq.com"
                                       };
            
            NSMutableArray* contactBook = [[NSMutableArray alloc]init];
            [contactBook addObject:concent];
            [contactBook addObject:concent2];
            NSLog(@"%@",contactBook);
            //在字典对象中 key值必须是唯一的 不能重复
            NSDictionary* concent3 = @{@"name":@"kobe",
                                       @"name":@"by",
                                       @"age":@27,
                                       @"tel":@"13884886888",
                                       @"email":@"kobe@qq.com"
                                       };
            NSLog(@"%@",concent3);
            
            //字典对象的BLOCK遍历
            [concent3 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
                NSLog(@"key=%@ : obj=%@",key,obj);
            }];
            //字典对象写到文件中
            //通过读文件写进字典
            
            NSMutableDictionary* mutableDic = [[NSMutableDictionary alloc]init];
            [mutableDic setDictionary:concent3];
            [mutableDic removeObjectForKey:@"emial"];
            [mutableDic removeObjectsForKeys:@[@"age",@"tel"]];
          
            [mutableDic setObject:@30 forKey:@"age"];
            NSLog(@"%@",mutableDic);
            
    
            
            
        }
        return 0;
    }
  • 相关阅读:
    springcloud的turbine集成zookeeper
    点赞功能与redis的相遇
    kmeans聚类源代码
    java map.entry
    M2Eclipse:Maven Eclipse插件无法搜索远程库的解决方法
    Maven仓库
    java生成验证码
    手工利用Chrome浏览器“Javascript控制台”
    分类算法之朴素贝叶斯分类(Naive Bayesian classification)
    JavaWeb 服务启动时,在后台启动加载一个线程
  • 原文地址:https://www.cnblogs.com/hezhuangzhuang/p/5114050.html
Copyright © 2011-2022 走看看