zoukankan      html  css  js  c++  java
  • 词典对象(NSDictionary和NSMutableDictionary)

    词典(dictionary)顾名思义就是同由键-值组成的数据集合.与在词典中查找单词定义一样,可以通过对象的键从词典中获取需要的对象,看到 这里,你是不是想起了java中的map?和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典 (NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是 。

    不可变词典NSDictionary

    [NSDictionary dictionaryWithObjectsAndKeys:..] : 使用键值对创建词典对象,结尾必需使用nil标志结束。
    [dictionary count]: 得到词典的键值对数量。
    [dictionary keyEnumerator]: 将词典的所有key储存在NSEnumerator中,类似于Java语言中的迭代器
    [dictionary objectEnumerator]: 将词典的所有value储存在NSEnumerator中
    [dictionary objectForKey:key]: 通过传入key对象可以拿到当前key对应储存的值。

    可变的词典NSMutableDictionary

    NSMutableDictionary是NSDictionary的子类,所以它继承了NSDictionary类的方法.
    +(id)dictionaryWithCapacity:size 创建一个size大小的可变字典
    -(id)initWithCapacity:size 初始化一个size 大小的可变字典
    -(void)removeAllObjects 删除字典中所有元素
    -(void)removeObjectForKey:key 删除字典中key位置的元素
    -(void)setObject:obj forKey:key 添加 (key , obj)到字典中去;若key已经存在,则替换值为 obj

    和数组不一样,词典对象是无序的,所以,当枚举词典时,第一个放到词典中的键-对象并不一定会第一个取出.

  • 相关阅读:
    Three.js入门和搭建HelloWorld
    CentOS中使用Docker来部署Tomcat
    CentOS中使用Docker来部署Nginx
    Windows中通过bat定时执行命令和mysqldump实现数据库备份
    Geoserver在Linux上的安装(图文教程)
    Linux上怎样停止服务(jar包)、查看进程路径、关闭指定端口
    Java中怎样监测局域网内ip是否互通,类似ping
    Android和JS之间互相调用方法并传递参数
    Android中使用WebView加载本地html并支持运行JS代码和支持缩放
    ARC072C
  • 原文地址:https://www.cnblogs.com/lisa090818/p/3311879.html
Copyright © 2011-2022 走看看