前端之家收集整理的这篇文章主要介绍了
Swift开篇004->集合,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PART_O 集合简介
PART_A @H_404_23@Arrays
定义(等价,推荐第二种方式)
@H_404_23@Array<T>
@H_404_23@[T]
创建空数组
创建带默认值的数组:@H_404_23@var arr = [Double](count: 3,repeatedValue: 0.0)
此时结果:@H_404_23@arr = [0.0,0.0,0.0]
@H_404_23@count:默认数组长度
@H_404_23@repeatedValue:默认值
通过数组相加创建数组:@H_404_23@var doubleArr = arr + arr
- 此时结果:@H_404_23@doubleArr = [0.0,0.0]
通过字面量构造数组:@H_404_23@[value1,value2,...]
@H_404_23@var arr: [String] = ["fuck","me"]
由类型推断可简写:@H_404_23@var arr = ["fuck","me"]
访问和修改数组
@H_404_23@count:获取数组长度
@H_404_23@isEmpty:判空
@H_404_23@append:在数组后添加新数据项
@H_404_23@+=:在数组后添加一或多个相同类型的数据项
@H_404_23@arr[index]:通过下标获取指定索引位置的值
数组的索引从0开始
@H_404_23@arr[1 ... 3] = ["fuck","me"]:通过区间修改一系列数据值,即使数量不同
@H_404_23@insert(_,atIndex: ):向指定索引位置插入数据项
@H_404_23@removeAtIndex(index):删除指定索引位置的值
@H_404_23@removeLast():删除最后一项数据值,避免通过 @H_404_23@count 获取数组长度
遍历:@H_404_23@for - in
PART_B @H_404_23@Sets
只有可以哈希化的类型才可存储在集合中
哈希值是Int类型
相等的对象哈希值必须相同,若 @H_404_23@a == b 则 @H_404_23@a.hashValue == b.hashValue
基本类型默认皆可哈希化,可做集合的值类型或字典的键类型
定义(方式唯一)
创建空集合
用数组字面量创建集合
@H_404_23@var words: Set<String> = ["fuck","me"]
或者简写,省略Set的具体类型:@H_404_23@var words: Set = ["fuck","me"]
访问和修改集合
@H_404_23@count:获取集合中元素的数量
@H_404_23@isEmpty:判空
@H_404_23@insert:添加新元素
@H_404_23@remove:删除并返回元素值,若集合为空,返回 @H_404_23@nil
@H_404_23@removeAll:删除所有元素
@H_404_23@contains(value):检查集合是否包含 @H_404_23@value 值
遍历:@H_404_23@for - in
集合操作(皆创建新集合)
基本操作
@H_404_23@a.intersect(b):交集
@H_404_23@a.exclusiveOr(b):除交集
@H_404_23@a.union(b):并集
@H_404_23@a.subtract(b):a减去a与b的交集
集合成员关系
@H_404_23@a.isSubsetOf(b):a是否被包含于b
@H_404_23@a.isSupersetOf(b):a包含于b
@H_404_23@a.isStrictSubsetOf(b) / isStrictSupersetOf:a是否被包含于b
@H_404_23@a.isSubsetOf(b):a是否被包含于b
PART_C @H_404_23@Dictionaries
存储多个相同类型的值
键唯一,值不唯一
无序
定义
- @H_404_23@Dictionary<key,value>
创建空字典
用字典字面量创建字典
@H_404_23@var persons: [String: Int] = ["zhangsan": 12,"lisi": 17]
简写:@H_404_23@var persons = ["zhangsan": 12,"lisi": 17]
访问和修改字典
@H_404_23@count:获取字典数据项的数量
@H_404_23@isEmpty:判空
@H_404_23@persons["zhangsan"]:通过下标分配新值或者修改指定键位对应的值,空时返回 @H_404_23@nil
@H_404_23@persons.updateValue(_,forKey:):同上
@H_404_23@persons["zhangsan"] = nil:移除指定键值对
@H_404_23@persons.removeValueForKey(_):移除并返回值,若空返回 @H_404_23@nil
遍历:@H_404_23@for - in
键值遍历:@H_404_23@for (key,value) in persons
仅键遍历:@H_404_23@for key in persons.keys
仅值遍历:@H_404_23@for value in person.value
通过键集合或值集合构造数组
因字典是无序的,可用 @H_404_23@sort() 对字典的键或值排序
以上。如有错误和疑问,欢迎指正提出。 catface.wyh@gmail.com
原文链接:https://www.f2er.com/swift/323693.html