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

相关文章
相关标签/搜索