在 Swift 语言简明教程(四) - 元组与可选型 中, 我们了解了 Swift 中元组和可选型的用法,现在我们来了解一下 Swift 中的集合类型 - 列表
在 Swift 的数据类型中,有三中基本的集合类型,它们是: 1. 列表(Array);2. 字典(dictionary);3. 集合(Set)。这三种数据类型在别的语言中都有,比如在 Java 中对于的就是: List, Map 和 Set, 在 C++ 的 STL 库中也有相应的数据类型。
基于此,本文就不再描述这些类型的特性(比如:Set中元素不能重复),而把重点放在如何在 Swift 中使用这些类型上。 先介绍列表 - Array
Array 声明(定义)
声明整型数组
1 2
| var array1:[Int] var array2:Array<Int>
|
当然,我们也可以在声明的同时进行初始化,如:
1
| var array1:[Int] = [1, 2, 3]
|
Array 初始化
1 2 3 4
| var array1 = [] var array2 = Array() var array3 = [1,2,3] var array4 = Array(arrayLiteral: 1,2,3)
|
对于需要重复赋值一个值的情况,也可以使用:
1
| var array3 = [String](repeating: "Hello", count: 10)
|
或者是数字:
1
| var array4 = Array(repeating: 1, count: 10)
|
相比其它语言,省略了一个专门用来初始化的循环语句。
判断Array中有多少元素
注意:count是属性不是方法
判断Array是否为空
1 2 3
| if array1.isEmpty { print("array1 为空数组") }
|
注意:isEmpty是属性不是方法
合并两个数组
要合并两个数组,可以直接用“+”号将两个数组加起来
1
| var array1 = [1,2,3]+[4,5,6]
|
获取数组中一个元素
直接用下标
当然也可以赋值,如:
切片
取数组中的一部分元素,结果还是一个同类型的数组
1 2
| var array = [1,2,3,4,5,6,7,8,9] var subArray = array[0...3]
|
也可以对一个子集直接进行赋值,如:
1 2
| var array = [1,2,3,4,5,6,7,8,9] array[0...3] = [11,22,33,44]
|
追加一个或多个元素
1 2
| array.append(contentsOf: [11,12,13])
|
插入一个或多个元素到特定的位置
1 2
| array.insert(contentsOf: [-2,-1], at: 0)
|
删除一个或多个指定位置的元素
1 2
| array.removeSubrange(0...2)
|
替换
1 2
| array.replaceSubrange(0...2, with: [0,1])
|
注意:这个替换操作中同时包含了一个删除操作,因为候补元素只有两个,而位置有三个
判断元素是否存在
1 2 3
| if array.contains(1){ print(true) }
|
最大值、最小值
遍历数组元素
可以直接用 for 语句进行遍历
1 2 3
| for item in array { print(item) }
|
也可以使用下标进行遍历
1 2 3
| for index in array.indices{ print(array[index]) }
|
排序
1 2
| let arraySort = array.sorted(by: >)
|
1 2
| let arraySort = array.sorted(by: <)
|
下一步
接下来,我们将简要的介绍 Swift 中的字典类型 - 字典(Dictionary))。