9.Swift学习之数组

简介: 数组的介绍数组(Array)是一堆有序的由相同类型元素构成的集合数组中的元素是有序的,可重复出现Swift用Array表示数组,是一个泛型集合(泛型后面会讲,现在可理解为指定数组里面放什么类型的数据)与OC数组的区别Array是一个结构体...

数组的介绍

  • 数组(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
目录
相关文章
|
6月前
|
存储 安全 Swift
在Swift中,数组(Array)
在Swift中,数组(Array)
56 3
|
Swift 索引
18 在Swift中创建一个数组
在Swift中创建一个数组
340 0
|
11天前
|
存储 Swift iOS开发
Swift 数组
10月更文挑战第27天
21 3
|
6月前
|
存储 安全 Swift
【Swift开发专栏】Swift中的集合类型:数组、字典与集合
【4月更文挑战第30天】本文探讨Swift的三种内置集合类型:数组、字典和集合。数组是有序元素集合,支持动态大小调整和类型安全;字典是无序键值对,适用于快速查找;集合是无序不重复元素集合,适合检查元素存在性和集合运算。理解这些特性和用法能提升Swift编程效率。
69 1
|
6月前
|
人工智能 物联网 API
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
|
6月前
|
Swift 索引
在Swift中,要删除数组中特定索引位置的元素
在Swift中,要删除数组中特定索引位置的元素
108 3
|
6月前
|
存储 安全 Swift
在Swift编程语言中,数组(Array)
在Swift编程语言中,数组(Array)
72 3
|
6月前
|
存储 安全 Swift
在Swift编程语言中,数组
在Swift编程语言中,数组
57 2
|
6月前
|
存储 Swift
在Swift中,数组(Arrays)和字典
在Swift中,数组(Arrays)和字典
57 1
|
Swift
Swift - 用装有控制器name的数组for循环批量创建控制器(string转UIViewController)
Swift - 用装有控制器name的数组for循环批量创建控制器(string转UIViewController)
98 0