怎么初始化基本类型的集合

29 阅读2分钟

基本类型的集合有Array,Set,和Dictionary

由于我是编程小学生,为了记忆方便,我使用统一的格式,都是显式声明。

一、声明一个空数组:

var array: Array = []

二、声明一个空Set:

var set: Set = []

三、声明一个空字典:

var dic: Dictionary<String, (String, Int, String, Int)> = [:]

说明一下,字典的声明中,第一个位置是key,后面剩下的都是value。而且前面声明过程中,没有冒号,只有等号后面才有冒号。key可以print可以打印出来,也可以只当桌索引不打印出来。

假设现在有一个数组,这个数组里面有10个元素。每个元素又是一个元组,这个元组包括了3个值。

问:怎么把这个数组导入到字典中呢?

思考逻辑:

这个数组有10个元素,那么,就可以用for loop来遍历整个数组。

其次,针对每一个元素有3个值,我们可以选取其中1个值作为key,另外两个值作为value。通过对元组内各个值的操作,形成1个key对应2个value的映射。

dic[tuple.0] = (tuple.1, tuple.2)

这就形成了1个key对应2个value的映射

遍历使用for i in array{}的方法

建立空字典用显示命名的方式:

var dic: Dictionary<中文名: String, (英文名: String, 介绍: String) = [:]

写代码的时候把逻辑反过来

先建立空字典。

再for循环

再把tuple拆开,1个key对应2个value。

头一次学习了内存管理操作。

.reserveCapacity() 提前给程序流出内存。要不然,分配的内存不够的时候,就需要扩容。扩容的方法是,先找一块大一点的地方,再把元数据拷贝过去。要是多次扩容的话,就需要多次复制,浪费性能。

还有一个类似的方法是在程序初始的时候使用.init(minimumCapacity: )作用也是一样的。这个方法可以用于Set和Dictionary。

括号内只能写整数。