• oc基础-oc之集合NSDictionary,NSMutableDictionary


     

    NSMutableDictionary继承自NSDictionary  ,字典,NSMutableDictionary 可变集合  ,都是无序的

    NSDictionary

    1.创建方式

       [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]
    
      [NSDictionary dictionaryWithObjects:值集合 forKeys: 键集合]//值集合和键集合用NSArray定义
    
      [NSDictionary dictionaryWithObjectsAndKeys:
    
          @"value1",@"key1",
    
          @"value2",@"key2",...,nil]//这种方式可读性非常差,不建议使用
    
      @{@"key1":@"value1",@"key2":@"value2",...}//这个事快速创建方式,但是只能用在不可变字典上

    2.获得字典的长度:[dic count]返回NSUIntger

    3.获取值 :

    id obj=[dict objectForKey:@"key"]//原始的获取方式
    
    id obj=dict[@"key"] /xcode重新封装的 快速获取方式

    4.遍历:

      

     //方式1.
    NSArray *keys=[dict allKeys];//获得字典所有的键集合
      for(int i=0;i<dic.count;i++)
      {
        NSString *key=dic[i];
         NSLog(@"%@",dic[key]);      
      }
    //方式2

    [dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj, Bool *stop)

        {  }];

    NSMutableDictionary

    1.创建方式和NSDictionary一样,但是不能使用@{}快速创建对象,

      另外还有一种NSDictionary不使用的方式:[NSMutableDictionary dictionary]

    2.新增的方法

    [dict  setObject:@"value" forKey:@"key"//新增元素
    
     [dict removeObjectForKey:@"key"]//根据键移除指定的元素

    注意:字段允许值相同,不允许键相同

  • 相关阅读:
    CF982E Billiard
    CF385E Bear in the Field
    CF1322C Instant Noodles
    CF359C Prime Number
    CF1117E Decypher the String
    模板整合计划 写了一点qwq慢慢补
    BZOJ 4320
    acwing91:最短哈密顿路径
    P3469 [POI2008]BLO-Blockade
    简易平衡树
  • 原文地址:https://www.cnblogs.com/hui1107464497/p/4514389.html
Copyright © 2020-2023  润新知