数组(Arrays)是有序数据的集。
集合(Sets)是无序无重复数据的集。
字典(Dictionaries)是无序的键值对的集。
-
集合的可变性
注:在我们不需要改变集合大小的时候创建不可变集合是很好的习惯,这样swift编译器可以优化我们创建的集合。
-
数组(Arrays)
形式:Array<Element> 或者 [Element] 推荐后者 空数组:[ ] 创建一个带有默认值的数组: var threeDoubles = [Double](repeatElement(0.0, count: 3))
-
集合(Sets)
当集合元素顺序不重要时或者希望确保每个元素只出现一次时可以使用集合而不是数组。 形式:Set<Element> 集合没有等价的简化形式 Set类型没有确定的顺序,为了按照特定顺序来遍历一个Set中的值可以使用 sorted()方法,它将根据提供的序列返回一个有序的集合。 标注:3.0改动 —— 返回交集的补集 a.symmetricDifference(b)
//集合操作
var a : Set = ["1", "2", "3", "4", "5”]
var b : Set = ["3", "4", "5", "6", "7"]
a.intersection(b).sorted() 两个集合的交集
a.symmetricDifference(b).sorted() 两个集合的补集
a.union(b).sorted() 两个集合的全集
a.subtract(b) a中特有的元素的集合
a.isSubset(of: b) 判断是否是某个集合的子集:a是b的子集?
a.isSuperset(of: b) 判断是否是某个集合的超集?
a.isStrictSubset(of: b) 判断是否是某个集合的真子集(子集合)?
a.isStrictSuperset(of: b) 判断是否是某个集合的真超集(父集合)?
a.isDisjoint(with: b) 判断两个集合是否不含有相同的值?(是否没有交集)
-
字典
形式:Dictionary<Key, Value> 或者 [Key: Value] 推荐后者 字典的updateValue(_:forKey)方法可以设置或者更新特定键对应的值,这个方法返回更新值之前的原值。这样使得我们可以检查更新是否成功。而且这个方法会返回对应值的类型的可选值。
例:
var airports = ["YYZ": "Toronto Pearson", "DUB": "Dubin"] if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") { print("the old value for DUB was \(oldValue).") }
241AAB0B-3AD7-4E0E-82AA-B39AB4F97F53.png
字典的下标语法返回的对应值的类型也是可选值。
removeValue(_:forKey)在字典中移除键值对,特性同上。