Swift 我的學習筆記 - 05: 集合類型(Array, Set, Dictionary)

本文章純粹是中文版《The Swift Programming Language》的學習筆記,因此絕大部分的內容都是文中有的。本文是本人的學習筆記,不是正式系統的記錄。僅供參考html

如下仍是有不少沒看懂、不肯定的地方,我會以「存疑」的註解指出。編程

在此感謝中文版翻譯者,這極大地加快了 Swift 的學習速度。swift

本文地址:http://www.javashuo.com/article/p-onthnjzw-hc.htmlsegmentfault


Reference:

原版:The Swift Programming Language
中文版:Swift 3 編程語言 - 集合類型數組

集合類型涉及三種類,分別是 Array, Set, Dictionary,分別對應 NSArray, NSSet, NSDictionary,也就是數組、集合、關聯數組。app

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 能夠刪除指定的鍵值對ui

for-in

for (theKey, theValue) in aDict {
        ...
    }

下一篇

Swift 我的學習筆記 - 06: 控制流spa

相關文章
相關標籤/搜索