- 跟戴銘學iOS編程:理順核心知識點
- 戴銘
- 313字
- 2024-01-19 15:19:48
1.3 集合
1.3.1 基本概念
我們來了解一下集合的基本概念。首先集合是泛型的,比如:
let stateArray: Array<String> = ["工作","吃飯","玩游戲","睡覺"]
集合需要具備遍歷的功能,通過GeneratorType協議,可以不關注具體元素類型只要不斷地用迭代器調next就可以得到全部元素。但是使用迭代器無法進行多次遍歷,這時就需要使用Sequence協議來解決這個問題。像集合的forEach、elementsEqual、contains、minElement、maxElement、map、flatMap、filter、reduce等功能都是使用Sequence協議進行多次遍歷的。
因為Sequence協議無法確定集合里的位置,所以在Sequence的基礎上增加了Indexable協議,Sequence協議加上Indexable協議就是Collection協議。有了Collection協議就可以確定元素的位置了,包括開始位置和結束位置,這樣就能夠確定哪些元素是已經訪問過的,從而避免多次訪問同一個元素,并且通過一個給定的位置直接找到對應位置的元素。
以上過程如下圖所示。

推薦閱讀
- Mastering Zabbix(Second Edition)
- Software Defined Networking with OpenFlow
- INSTANT MinGW Starter
- Visual Basic程序設計實驗指導(第4版)
- SQL Server從入門到精通(第3版)
- IBM Cognos TM1 Developer's Certification guide
- MATLAB 2020 GUI程序設計從入門到精通
- Yii2 By Example
- JavaScript前端開發基礎教程
- Python AI游戲編程入門:基于Pygame和PyTorch
- Learning Scrapy
- JavaScript實戰-JavaScript、jQuery、HTML5、Node.js實例大全(第2版)
- MEAN Blueprints
- Advanced Analytics with R and Tableau
- Python實現Web UI自動化測試實戰:Selenium 3/4+unittest/Pytest+GitLab+Jenkins