/**
字典的基本概念
字典也是一种集合数据类型
和数组不太一样,哪点不太一样呢
数组中的元素是连续存储的
字典里面的元素是没有顺序的
字典如何检索呢,字典存储键值对
里面的每一个 key 唯一的, 值可以有相同的
哈希函数
address = hash(key),value = hashTable[address]
通过哈希函数计算出地址来定位 value
为什么通过哈希函数来做呢,查找效率高啊
所以字典的背后机制呢,是基于哈希的
*/
// var dic = [key1:value1,key2:value2,key3:value3,...]
// 空数组 swift3.0 中不可以再这样子直接 赋空
// let arr = []
let arr = NSArray()
print(arr)
print("-------------->")
// 空字典 swift3.0 中不可以再这样子直接 赋空
// let dic = [:]
let dic = NSDictionary()
print(dic)
print("-------------->")
/**
key 关键字一定是可hash的
String/Int/Float/Bool 等都可以
*/
let dic1 = [1 : "1",2 : "2"]
print(dic1)
print("-------------->")
let dic2 = ["1":1,"2":"2",3:"3"] as [AnyHashable : Any]
print("-------------->")
print(dic2)
// 定义了特定类型的键值对
let dic3: Dictionary<String,Int> = ["3" : 4]
print("-------------->")
print(dic3)
// 也可以这样子定义啊
let dic4: [String : Int] = ["3" : 4]
print("-------------->")
print(dic4)
print("-------------->")
print(dic4.count)
原文链接:https://www.f2er.com/swift/322488.html