数组的介绍
- 数组(Array)是一堆有序的由相同类型元素构成的集合
- 数组中的元素是有序的,可重复出现
- Swift用
Array
表示数组,是一个泛型集合(泛型后面会讲,现在可理解为指定数组里面放什么类型的数据)
- 与OC数组的区别
- Array是一个结构体,而不是一个类
- 可以放普通类型
数组的初始化
- 数组分成:可变数组和不可变数组
- 使用let修饰的数组是不可变数组
- 使用var修饰的数组是可变数组
// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()
// 定义一个不可变数组
let array2 : [NSObject] = ["zhangsan", 18]
- 在声明一个Array类型的时候可以使用下列的语句之一
var stuArray1 : Array<String>
//语法糖
var stuArray2 : [String]
- 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
// 定义时直接初始化
var array = ["zhangsan", "lisi", "wangwu"]
// 先定义,后初始化
var array : Array<String>
array = ["zhangsan", "lisi", "wangwu"]
对数组的基本操作
array.count
array.isEmpty
array.append("zhaoliu")
array.insert("haojian", at: 0)
array.removeFirst()
array[0] = "wangqi"
array[1]
array.first
array.reverse()
数组的遍历
for i in 0..<array.count {
print(array[i])
}
for item in array {
print(item)
}
for item in array[0..<2] {
print(item)
}
let names = ["zhangsan", "lisi", "wangwu"]
for (index, name) in names.enumerated() {
print(index)
print(name)
}
数组的合并+
// 数组合并
// 注意:只有相同类型的数组才能合并
var array = ["zhangsan", "lisi", "wangwu"]
var array1 = ["zhaoliu", "wangqi"]
var array2 = array + array1;
//虽然不报错,但是不建议一个数组中存放多种类型的数据
var array3 : [Any] = [2, 3.0, "zhangsan"]
var array4 : [Any] = ["lisi", true]
var array5 : [Any] = array3 + array4