1.简述
数组(array):值有序可重复
集合(set):值无序不可重复
字典(dictionary):值无序可重复,但是每个只有唯一的标志(key)
2.数组
用于存储同一类型的值,最常用
2.1 定义
let 数组名字 : Array<String>
let 数组名字 : [String]
2.2 创建
创建重复字符串数组
let 牛奶 = [String](count:10, repeatedValue:"蒙牛")
创建一个有序范围的Int数组
let 一到一百 = Array(1...100)
用数组字面量来创建数组
var 京沪高铁 = ["北京南站","天津","济南","郑州"]
2.3 操作
元素计数:count,是否为空:isEmpty
京沪高铁.count
京沪高铁.isEmpty
追加元素:append,添加一个同类型的数组:+=
京沪高铁.append("上海")
let 沪杭高铁 = ["嘉兴","桐乡"]
京沪高铁 += 沪杭高铁
获取元素:数组名[索引值]
京沪高铁[1]
插入元素:insert
京沪高铁.insert("哈哈", atIndex:1)
删除元素:remove
京沪高铁.removeAtIndex(1)
2.4 遍历
普遍的我们使用for-in循环来遍历数组中的所有数据项
for i in array {
print(i)
}
swift提供一个enumerate函数来遍历数组,会同时返回数据项和索引值:
for (index, value) in enumerate(array)
{
print("index : \(index) value: \(value)")
}
此时打印的值为:
index : 0 value: 13
index : 1 value: 9
index : 2 value: 10
index : 3 value: 11
index : 4 value: 12
index : 5 value: 6
index : 6 value: 7
index : 7 value: 8
3.集合
3.1 定义:Set<元素类型>
let 群友省份证号 : Set<String>
3.2 创建
用数组字面量创建集合
let群友省份证号:Set = ["1","2","3"]
虽定义无法使用类型判断,但可以把类型省略不写,只保留:Set
let 群友省份证号二 : Set = ["1","2","3","4"]
3.3 操作
计数:count
是否为空:isEmpty
插入:insert
移除:remove
是否包含某个元素:contains
转换为数组:sort
群友省份证号.contains("1")
let群友省份证号数组=群友省份证号.sort()
3.3.1 集合操作:交,差,并,补
交集:intersect
差集:subtract
并集:union
补集:exclusiveOr
3.3.2 集合关系
相等:==
子集:isSubsetOf(可以相等),严格子集isStrictSubsetOf
父集:isSupersetOf(可以相等),严格父集isStrictSupersetOf
无交集:isDisjointWith
4.字典
4.1 定义
Dictionary<键类型,值类型> 或者 [键类型 : 值类型]
4.2 创建
用字典字面量来创建,键值之间用冒号隔开
4.3 操作
计数:count
空:isEmpty
添加或者更新:字典变量[键] 或者 updateValue(forKey)方法
获取,可以用下标:字典变量[键]
移除,用下标把值设置为nil 或者 使用removeValueForKey
循环一个字典for in,因为键值对有两个元素,用元组变量
for (键, 值) in 字典{
print(键, 值)
}
单独使用键值,使用keys和values
把键值对分离成数组,用[数组类型](字典.keys)和[数组类型](字典.values)