// 字典 

         // Swift的字典使用 Dictionary<KeyType, ValueType>定义,其中KeyType是字典中键的数据类型,ValueType是字典中对应于这些键所存储值得数据类型。各个值跟一个唯一的key关联,key在字典中是值得唯一标识。 

         var airports: Dictionary<String, String>; 

         // 创建了一个<String, String>类型的空字典,它的键是String类型,值是String类型 

          

         // 字典字面值是将一个或多个key-value 对写成字典集合的简便方式。一个 key-value对是一个key与一个 value 的绑定。在字典字面值中,各个key-value用逗号隔开,并被中括号包围,key与value用冒号隔开 

 //        [key 1: value 1, key 2: value2, key 3: value 3]; 

          

         // 我们可以想数组一样使用构造语法创建一个空字典 

         var namesOfIntegers1 = [:]; 

          

         // 下面创建一个字典来存储语言简写的名称 

         var languageDic : Dictionary<String, String> = ["French" : "fr", "English" : "en"]; 

         // 也可以写成: 

         // var languageDic = ["French": "fr", "English" : "en"]; 

          

         // 对字典的存取与修改可以通过字典的方法和属性来进行,或者使用字典的key来操作 

         // 获取字典中包含数据项个数,可以通过点语法count 

         var dicCount = languageDic.count; 

          

         // 在字典中可以使用下标语法来添加新的数据项。可以使用一个合适类型的key作为下标索引,并且分配新的合适类型的值 

         languageDic["German"] = "ger"; 

         // languageDic字典现在有3个数据项 

          

         // 也可以使用下标语法来改变特定对应的值 

         languageDic["German"] = "ge"; 

         // “German”对应的值被改为“ge” 

          

         // 字典 updateValue(forKey:) 方法可以设置或者更新特定键对应得值。该方法在这个键不存在对应值得时候设置值,或者在存在时更新已存在的值,返回更新值之前的原值。这样方便我们检查更新是否成功 

         let oldValue = languageDic.updateValue("Ge", forKey: "German"); 

         print(oldValue); // 输出: Optional(“ge”) 

          

         // 可以通过检索特定的键来获取对应的值,如果不存在就返回nil,存在的话就返回该键对应的值。 

         let englishShorthand = languageDic["English"]; 

          

         // 使用下标语法通过给某个键的对应值赋值为nil而从字典里移除一个键值对 

         languageDic["English"] = nil; 

         // English现在被移除了 

          

         // 也可以使用removeValueForKey方法来移除字典中的键值对。这个方法在键值对存在的情况下会移除该键值对并返回被移除的value,键值不存在的情况下,返回nil 

         let removedValue = languageDic.removeValueForKey("English"); 

          

         // 字典遍历,使用for-in循环来遍历某个字典中的键值对。每个字典中的数据项都由(key, value)元组形式返回 

         for (language, shortahand) in languageDic { 

             print("\(language) : \(shortahand)"); 

         } 

          

         // 在这里,keys或者values属性其实都是一个数组集合,我们可以分别进行遍历 

         // 遍历keys 

         for language in languageDic.keys { 

             print(language); 

         } 

          

         // 遍历values 

         for shorthand in languageDic.values { 

             print(shorthand); 

         } 

          

         // 如果需要使用某个字典的键集合或者值集合来作为某个接受Array实例API的参数,可以使用keys或者values属性值直接构造一个新数组 

         let languageArray = Array(languageDic.keys); 

         // languageArray is ["French", "German"] 

          

         let shorthandArray = Array(languageDic.values); 

         // shorthandArray is ["fr", "Ge"] 

          

         // 由于Swift的字典类型是无序集合类型,因此字典中的键、值、键值对在遍历的时候也会重新排列,而且顺序是不固定的