本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考
以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。
在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。
本文地址:http://www.jb51.cc/article/p-clsgvizc-d.html
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 { ... }