3.9 Swift字典的基本概念

/**

字典的基本概念

字典也是一种集合数据类型

和数组不太一样,哪点不太一样呢

数组中的元素是连续存储的

字典里面的元素是没有顺序的

字典如何检索呢,字典存储键值对

里面的每一个 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)

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...