PART_O 集合简介
PART_A Arrays
定义(等价,推荐第二种方式)
创建空数组
创建带默认值的数组:var arr = [Double](count: 3,repeatedValue: 0.0)
此时结果:arr = [0.0,0.0,0.0]
count :默认数组长度
repeatedValue :默认值
通过数组相加创建数组:var doubleArr = arr + arr
- 此时结果:
doubleArr = [0.0,0.0]
通过字面量构造数组:[value1,value2,...]
var arr: [String] = ["fuck","me"]
由类型推断可简写:var arr = ["fuck","me"]
访问和修改数组
count :获取数组长度
isEmpty :判空
append :在数组后添加新数据项
+= :在数组后添加一或多个相同类型的数据项
arr[index] :通过下标获取指定索引位置的值
数组的索引从0开始
arr[1 ... 3] = ["fuck","me"] :通过区间修改一系列数据值,即使数量不同
insert(_,atIndex: ) :向指定索引位置插入数据项
removeAtIndex(index) :删除指定索引位置的值
removeLast() :删除最后一项数据值,避免通过 count 获取数组长度
遍历:for - in
PART_B Sets
只有可以哈希化的类型才可存储在集合中
哈希值是Int类型
相等的对象哈希值必须相同,若 a == b 则 a.hashValue == b.hashValue
基本类型默认皆可哈希化,可做集合的值类型或字典的键类型
定义(方式唯一)
创建空集合
用数组字面量创建集合
var words: Set<String> = ["fuck","me"]
或者简写,省略Set的具体类型:var words: Set = ["fuck","me"]
访问和修改集合
遍历:for - in
集合操作(皆创建新集合)
基本操作
a.intersect(b) :交集
a.exclusiveOr(b) :除交集
a.union(b) :并集
a.subtract(b) :a减去a与b的交集
集合成员关系
PART_C Dictionaries
存储多个相同类型的值
键唯一,值不唯一
无序
定义
创建空字典
用字典字面量创建字典
var persons: [String: Int] = ["zhangsan": 12,"lisi": 17]
简写:var persons = ["zhangsan": 12,"lisi": 17]
访问和修改字典
count :获取字典数据项的数量
isEmpty :判空
persons["zhangsan"] :通过下标分配新值或者修改指定键位对应的值,空时返回 nil
persons.updateValue(_,forKey:) :同上
persons["zhangsan"] = nil :移除指定键值对
persons.removeValueForKey(_) :移除并返回值,若空返回 nil
遍历:for - in
键值遍历:for (key,value) in persons
仅键遍历:for key in persons.keys
仅值遍历:for value in person.value
通过键集合或值集合构造数组
因字典是无序的,可用 sort() 对字典的键或值排序
以上。如有错误和疑问,欢迎指正提出。 catface.wyh@gmail.com
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|