本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考
以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。
在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。
本文地址:https://segmentfault.com/a/1190000008440175
Reference:
原版:The Swift Programming Language
中文版:Swift 3 编程语言 - 集合类型
集合类型涉及三种类,分别是 Array, Set, Dictionary
,分别对应 NSArray, NSSet, NSDictionary
,也就是数组、集合、关联数组。
Array
创建空数组
var someInts = [Int]()
var anEmptyArray = []
var arrayRepeated = Arrar(Repeating: 2.5, count 3) // 创建一个 Float 类型数组,值重复三次
var shoppingList : [String] = ["eggs", "milk"]
var shoppingList = ["eggs", "milk"]
可以用加号连接两个数组,获得一个新数组。
常用方法和用法
isEmpty()
append(_:)
+=
count()
someArray[4....6] // 取子数组
removeLast() // 同时会返回被删除的对象
insert(_: at:)
for-in
这里要用到 enumated
方法:
for (index, value) in anArray.enumated() {
print ("Item \(index + 1): \(value)")
}
Set(集合)
创建空 Set
var aSet = Set<Characters>() // 创建 Characters 类型的 Set
var aSet:Set = ["S", "w", "i", "f", "t"] // 注意必须指定是 Set 类型,否则 Swift 会默认为 Array 类型
常用方法
count()
isEmpty()
insert(_:)
remove(_:)
removeAll()
contains(_:)
isSubset(of:)
isSuperset(of:)
isDisjoint(of:) // 判断两者是否有交集
for-in
for value in aSet {
...
}
集合操作
- 取交集:
a.intersects(b)
- 取毫无相交的集:
a.excludeOr(b)
- 取并集:
a.union(b)
- 取减集:
a.substract(b)
Dictionary
创建字典
var aDict = [Int : String]()
var aDict = [:]
var aDict = ["one": 1,
"two": 2] // 以 “key-value” 对创建 Dictionary
常用方法
count()
isEmpty()
updateValue(_:forKey:) // 同时返回被替代掉的对象
aDict["SomeKey"]
另外,赋值 nil
可以删除指定的键值对
for-in
for (theKey, theValue) in aDict {
...
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。