zoukankan      html  css  js  c++  java
  • swift 集合类型(二)

    说到swift的集合类型,就不得不谈到Dictionary。包含一个键值对组合的集合。

    var air =  ["name":"warner","title":"Math"]
    var air = Dictionary<String,String>(minimumCapacity:3)
    

    都可以初始化Dictionary。在swift中,Dictionary其实是一个结构:struct,继承自Collection。而Collection是一种协议protocol。他们都不是Object

    Dictionary有subscript声明,所以可以直接使用下标来获取或者设置key的value。

    air["son"] = "edward"
    

    像上面这种通过下标来指定value的写法,如果存在该key,则直接改写value,否则,新增这个key-value pairs。另外,还提供了比较鸡肋的一种改变value的方法:

    air.updateValue("andrew", forKey: "son")
    

    与之前的直接通过下标修改value的作用是一样的。

    同时,也可以通过下标的形式来移除对应的key

    air["son"] = nil
    

    上面的写法,会直接把son这个key从Dictionary中移除。另外,也可以通过removeValueForKey方法来移除

    air.removeValueForKey("son")
    

    结果一样的。

    遍历整个数据集合的方法与数组类似:

            for (key,val) in air{
                println("(key):(val)")
            }
    

      
    Dictionary还有2个比较有意思的属性,可以直接以数组形式拿到整个Dictionary的keys和values

            for key in air.keys{
                println("(key)")
            }
            for val in air.values{
                println("(val)")
            }
    

      

    总结:

    1)Dictionary与json似是而非。通过构造函数初始化必须指定key与value的数据类型,否则值就得指定至少一对key-value pairs。用来确定这个Dictionary的数据类型。

    2)可以通过下标来确定对应的key,用来增加或者删除pairs.

    3)可以直接拉取整个dictionary的keys或者values,来作为数组操作。

    4)可以使用removeAll方法来清空整个Dictionary.

  • 相关阅读:
    开源工作流 Bonita BPM (JAVA)
    java怎么样判断一个进程是否已近结束
    struts2 Annotation 实现文件下载功能 文件名中文乱码问题
    struts2中s:radio标签的使用 Map
    Win7下声音由小逐渐变大
    JSTL EL 详解
    CHM格式 打开后不显示内容的解决办法
    jquery radio 判断是否被选中的例子
    火狐的funmoods都已经清除了,config里怎么还有他它的项目
    由MyEclipse内存不足谈谈JVM内存
  • 原文地址:https://www.cnblogs.com/sxlfybb/p/3793046.html
Copyright © 2011-2022 走看看