-
创建数组,数组简写
[Int]var someInts = [Int]() var threeDoubles = Array(repeating: 0.0, count: 3) var sixDoubles = threeDoubles + anotherThreeDoubles var shoppingList:[String] = ["Eggs","Milk"] var shorthandShoppingList = ["Eggs","Milk"] -
使用“append”在数组末尾添加元素,或者“+=”符号
someInts.append(3) shoppingList += ["Baking Powder"] -
使用“repeat”创建素有元素值均一样的默认数组
var threeDoubles = Array(repeating: 0.0, count: 3) -
使用“...”访问区间元素,并且可在数目不同时替换
shoppingList[4...6] = ["Bananas", "Apples"] -
使用remove对数组进行移除操作,注意返回的是被移除元素而非数组
let apples = shoppingList.removeLast() //"Apples" -
使用“enumerated()”及元组获取数组当前序号和对应值
for (index, value) in shoppingList.enumerated() { print("Item \(index + 1) : \(value)") //Item 5 : Bananas } 无需排序且值唯一不重复使用 Set
Set 并没有像 Array 和 Dictionary 那样的简写
放入 Set 中(或者作为字典中 Key)的类型必须为遵循 Hashable 协议的类型。String、Double、Int 等基本类型默认遵循该协议。用户手动创建的类型必须遵循该协议且实现 hashValue 的 get 方法才可以放入 Set 中(或者作为字典中 Key)
使用
.sorted()来获取排序后的Set,实际上是根据 hashValue 排序。-
区别于 Array,Set 有时需要显示指明变量类型为 Set
var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"] Set 中可以有重复元素,不会造成错误,会自动过滤掉重复元素。
-
使用
contain判断是否包含某元素,使用remove移除指定元素,同时返回该元素(非移除后Set)if favoriteGenres.contains("Funk") { print("I get up on the good foot.") } else { print("It's too funky in here.") } // Prints "It's too funky in here." if let removedGenre = favoriteGenres.remove("Rock") { print("\(removedGenre)? I'm over it.") } else { print("I never much cared for that.") } // Prints "Rock? I'm over it." -
两个Set之间的运算
使用a.intersection(b)获取a与b相交部分
使用a.symmetricDifference(b)获取a与b相交部分外的所有元素
使用a.union(b)获取全集
使用a.subtracting(b)获取a除去所包含b的部分使用a==b,判断a是否等于b,即a与b包含完全相同的元素
使用a.isSubset(of: b)判断a是否是b的子集
使用a.isSuperset(of: b)判断a是否是b的全集
使用a. isStrictSubset(of: b)判断a是否是b的子集,且a不等于b
使用isStrictSuperset(of: b)判断a是否是b的全集,且a不等于b
使用a.isDisjoint(of: b)判断a是否与b不相交 字典中的 key 必须遵循 Hashable 协议
-
字典类型的简写
<Key , Value>或者[Key : Value]均可var dictionaryA: Dictionary<String,String> var dictionaryB: [String:String] -
创建字典
var namesOfIntegers = [Int: String]() -
字典赋值
namesOfIntegers[16] = "sixteen" 使用updateValue(_:forKey:)方法上面赋值方法在赋值时作用相同,不同的是会返回一个原值的可选对象(原值存在返回原值,原值不存在返回nil)
根据特定 key 取出对应 value 的时候由于 key 可能会不存在,相应的 value 可能会为空,所以返回的是可选类型。
使用
= nil删除字典中一对值,也可以使用removeValue(forKey:),后者会返回可选类型的原值,也就是说当这对值存在时会在删除的同时返回 value 的值,否则会返回空。使用元组(key, value)遍历字典,也可以单独遍历字典的keys或者values。
-
使用数组表示字典keys和values
let airportCodes = [String](airports.keys) let airportValues = [String](airports.values) 字典keys无序,可以使用sort()排序。
Collection Types
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- [The Swift Programming Language 中文版]本页包含内容: Swift 语言提供Arr...
- Swift 语言提供 Arrays 、 Sets 和 Dictionaries 三种基本的集合类型用来存储集合数据...