Swift 语言简明教程(五) - 列表类型

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中有多少元素

1
array1.count

注意:count是属性不是方法

判断Array是否为空

1
2
3
if array1.isEmpty {
print("array1 为空数组")
}

注意:isEmpty是属性不是方法

合并两个数组

要合并两个数组,可以直接用“+”号将两个数组加起来

1
var array1 = [1,2,3]+[4,5,6]

获取数组中一个元素

直接用下标

1
var a = array1[0]

当然也可以赋值,如:

1
array1[0] = 100

切片

取数组中的一部分元素,结果还是一个同类型的数组

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(10)
1
2
//向数组中追加一组元素
array.append(contentsOf: [11,12,13])

插入一个或多个元素到特定的位置

1
2
//向数组中的某个位置插入一个元素
array.insert(0, at: 0)
1
2
//向数组中的某个位置插入一组元素
array.insert(contentsOf: [-2,-1], at: 0)

删除一个或多个指定位置的元素

1
2
//移除数组中某个位置的元素
array.remove(at: 1)
1
2
//移除数组中首个位置的元素
array.removeFirst()
1
2
//移除最后一个位置的元素
array.removeLast()
1
2
//移除前几位元素 参数为要移除元素的个数
array.removeFirst(2)
1
2
//移除后几位元素 参数为要移除元素的个数
array.removeLast(2)
1
2
//移除一个范围内的元素
array.removeSubrange(0...2)
1
2
//移除所有元素
array.removeAll()

替换

1
2
//修改一个范围内的元素
array.replaceSubrange(0...2, with: [0,1])

注意:这个替换操作中同时包含了一个删除操作,因为候补元素只有两个,而位置有三个

判断元素是否存在

1
2
3
if array.contains(1){
print(true)
}

最大值、最小值

1
2
//获取数组中的最大值
arraySort.max()
1
2
//获取数组中的最小值
arraySort.min()

遍历数组元素

可以直接用 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))

本文标题:Swift 语言简明教程(五) - 列表类型

文章作者:Morning Star

发布时间:2021年04月16日 - 09:04

最后更新:2022年01月14日 - 11:01

原始链接:https://www.mls-tech.info/app/swift/swift-tutorial-5-array/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。