加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 个人学习笔记 - 05: 集合类型(Array, Set, Dictionary)

发布时间:2020-12-14 06:25:49 所属栏目:百科 来源:网络整理
导读:本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。 在此感谢中文版翻译者,这极大

本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考

以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。

在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。

本文地址:http://www.52php.cn/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 {
        ...
    }

下一篇

Swift 个人学习笔记 - 06: 控制流

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读