天天看点

9.Swift学习之数组

数组的介绍

  • 数组(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 in方式
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