同其他语言类型类似,Swift提供了3个集合类型Array
、Set
和Dictionary
来存储集合值。与ObjC不同的是,Swift中的集合属于范型,不能不同类型的数据添加的同一个集合类型中,且Swift中的集合类型变量都支持修改。
Array
数组类型是存储相同类型数据的有序列表,其中数组不同位置存储的数可以相同。Swift中的Array
类型是Foundation框架中的NSArray
类型的桥接.Swift中Array属于范型类,具体的写法是Array<Element>
或者[Element]
,两种写法相同。
数组的创建
可以通过[Element](), []
的形式创建空数组,可以通过Array提供方法进行创建,当然也可以通过字面值[value 1, value 2, value 3]
的形式创建并初始化一个数组
|
|
数组的组合
可以通过操作符+
将两个形同类型元素的数组合并到一起。
|
|
数组元素的访问和修改
可以通过调用数组的方法和属性来访问和修改数组元素,或者通过下标语法,比如:
|
|
数组的遍历
通过使用for-in
循环来遍历数组,当然如果需要数组对应下标值的话,可以通过enumerated()
方法(对于数组的enumerated()
方法,会返回一个包含整形索引和具体值的元组)。例如:
|
|
Set
Set是用来存储不重复的相同类型元素无序
列表;Swift中的Set
类型是Foundation框架中的NSSet
类型的桥接。
Set类型的哈希值
存储在Set类型中的元素必须是hashable
的(用来保证存储在Set中的元素唯一)。Swift中Set类型的创建语法格式为Set[Element]
。与其他语言一样,不再赘述
注:可以通过实现Swfit中的
Hashable
协议来自定义存储在Set集合中的元素
Set类型的创建
可以通过Set<Element>(), []
语法创建一个Set类型对象,当然也可以通过字面值[value 1, value 2, value 3]
的形式创建并初始化一个Set对象,例如:
|
|
Set对象的访问和修改
可以通过调用Set的方法和属性来访问和修改Set元素,例如:
|
|
Set的遍历
通过使用for-in
循环来遍历Set,Set对象是无序列表,如果想要顺序访问具体对象值,可以调用Set的sorted()
方法。例如:
|
|
Set常用运算
常用操作如下:
- operator (==) 判断是非相等
- isSubset(of:) 判断Set是否子集
- isSuperset(of:) 判断是否超级
- isStrictSubset(of:) 或 isStrictSuperset(of:) 判断是否是子集或者超集,但不相等
- isDisjoint(with:) 判断两个Set是否有相同元素
再放一张图吧
Dictionary
Dictionary存储Dictionary
类型是Foundation框架中的NSDictionary
类型的桥接。
Dictionary的创建
可以通过[Key:Value](), []
的形式创建空Dictionary,也可以通过字面值[key 1: value 1, key 2: value 2, key 3: value 3]
的形式创建。例如:
|
|
Dictionary对象的访问和修改
可以通过调用Dictionary的方法和属性来访问和修改Dictionary元素,或者通过下标语法,例如:
|
|
Dictionary的遍历
通过使用for-in
循环来遍历Dictionary,每个Dictionary元素是以(key,value)元组的形式,例如:
|
|
参照文档
>
>
>
>
>
>
Copyright (c) liangtong. All rights reserved.