• iOS


    1. 字典类型的常用处理 

           //---------------不可变字典

            //1.字典的创建

            NSArray *array1 = [NSArray arrayWithObjects:@"zhangsan",@"zhangfei",nil];

            NSArray *array2 = [NSArray arrayWithObjects:@"lisi",@"liping", nil];

            

            //第一元素:key:@“zhang"   value:array1

            //第二元素:key: @"li:      value:array2

            NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:array1,@"zhang",array2,@"li", nil];

            

            NSUInteger count = dic1.count; //字典元素个数

            NSLog(@"count:%d",count);

            

            //创建字典时初始化一个元素

            NSDictionary *dic2 = [NSDictionary dictionaryWithObject:array1 forKey:@"zhang"];

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

            

            //2.获取字典中所有的key

            NSArray *allKeys = [dic1 allKeys]; //dic1.allKeys.

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

            //3.获取字典中所有的value

            NSArray *allValues = [dic1 allValues];

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

            

            //4.通过key取得value

            NSArray *array3 = [dic1 objectForKey:@"zhang"];

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

            

            //------------字典中优化的方法

            NSDictionary *dic3 = @{@"zhang": array1,@"li":array2};

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

            

            //取value的语法:字典[”key“]

            NSArray *array4 = dic3[@"zhang"]; //等价于:NSArray *array3 = [dic3 objectForKey:@"zhang"];

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

            

            //--------------可变字典

            //1.创建一个可变字典

            NSMutableDictionary *md1 = [[NSMutableDictionary alloc] initWithCapacity:3];

            

            //2.添加元素

            [md1 setObject:array1 forKey:@"zhang"];

            [md1 setObject:array2 forKey:@"li"];

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

            

            

            //将字典dic1 中所有的元素添加到md1字典中

            [md1 addEntriesFromDictionary:dic1];

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

            

    //        [md1 setObject:@"zhangsan" forKey:@"zhang"]; //如果添加相同的key,会将原来的Value覆盖掉

            

            //3.删除(根据key删除元素)

            [md1 removeObjectForKey:@"zhang"];

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

            //删除所有元素(清空)

            //[md1 removeObjects];

            

    //        //根据多个key删除对应的多个元素

    //        [md1 removeObjectsForKeys:@[@"zhang",@"li"]];

    //        NSLog(@"md1 = %@",md1);

            

            //---------------------遍历字典

            //1.快速遍历

            for (NSString *key in md1) {

                NSArray *name = [md1 objectForKey:key];

                NSLog(@"快速遍历:key = %@,value = %@",key,name);

            }

            

            //2.普通遍历

            NSArray *allKeys2 = [md1 allKeys];

            for (int i = 0; i<allKeys.count - 1; i++) {

                NSString *key = allKeys2[i];

                NSArray *name = md1[key];

                NSLog(@"普通遍历:key = %@,value = %@",key,name);

            }

    喜欢请赞赏一下啦^_^

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    vue列表渲染之基本列表
    vue之列表排序计算属性的应用
    IDEA部署远程部署docker
    springboot多数据源《二》
    docker容器之间的通信方式
    batocera添加游戏
    DarwinStreamingServer
    ffmepg,视频流,Darwin Streaming Server, EasyDarwin
    @Cacheable unless的写法,绕不开的SpEL
    绘文字emoji
  • 原文地址:https://www.cnblogs.com/share-iOS/p/5819894.html
Copyright © 2020-2023  润新知