Swift 数组及常用方法详解总结

 更新时间:2021年11月06日 13:51:00   作者:Lucky_William  
数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量

Swift 数组及常用方法

1. 创建数组

// 创建整型数组
var array1: [Int] = [] // []
var arrya2: Array<Int> = [1, 2, 3] // [1, 2, 3]
var arryaInt = [1, 2, 3] // [1, 2, 3]
var array3 = Array(arrayLiteral: 1, 2, 3) // [1, 2, 3]

2. 快捷创建重复元素的数组

var array4 = Array(repeating: "swift", count: 3) // ["swift", "swift", "swift"]
var array5 = Array(repeating: 1001, count: 3) // [1001, 1001, 1001]

3. 数组相加

// 2个相同类型的数组相加
var array6 = [1, 2, 3] + [4, 5, 6] // [1, 2, 3, 4, 5, 6]

4. 常用方法

// 当数组声明为可变时,才能使用增,删,改等方法,常量数组不能进行修改相关操作
var array = [1, 2, 3, 4, 5, 6, 7, 8]
print(array.count) // 8

// 判断数组是空数组
if array.isEmpty {
    print("array is empty")
} else {
    print("array is not empty")
}

// 通过下标访问元素
var ele = array[1] // 2

// 截取新数组
var subArray = array[1...2] // [2, 3]

// 获取第一个元素
var firstEle = array.first // 1

// 获取最后一个元素
var lastEle = array.last // 8

// 修改下标对应的元素
array[1] = 22
array // [1, 22, 3, 4, 5, 6, 7, 8]

// 修改指定范围的元素
array[0...2] = [1, 2, 3] // [1, 2, 3]
 
// 追加单个元素
array.append(9) // [1, 2, 3, 4, 5, 6, 7, 8, 9]

// 追加一组元素
array.append(contentsOf: [10, 11, 12]) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

// 在指定位置插入单个元素
array.insert(0, at: 0) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

// 在指定位置插入一组元素
array.insert(contentsOf: [-3, -2, -1], at: 0) // [-3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

// 移除指定元素
array.remove(at: 1) // -2

// 移除一组元素
array.removeSubrange(0...2) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

// 移除首个元素
array.removeFirst() // 1

// 移除末尾元素
array.removeLast() // 12

// 移除前几个元素
array.removeFirst(3) // [5, 6, 7, 8, 9, 10, 11]

// 移除后几个元素
array.removeLast(3) // [5, 6, 7, 8]

// 替换指定范围的元素
array.replaceSubrange(0...3, with: [1, 2, 3, 4]) // [1, 2, 3, 4]

// 判断包含指定元素
if array.contains(3) {
    print("array contains 3")
}

// 移除所有元素
array.removeAll() // []

var sortArr = [2, 1, 3, -1]

// 从小到大排序
sortArr.sorted(by: <) // [-1, 1, 2, 3]

// 从大到小排序
sortArr.sorted(by: >) // [3, 2, 1, -1]

// 获取数组最大值
sortArr.min() // -1

// 获取数组最小值
sortArr.max() // 3

5. 数组遍历

let arr = [11, 22, 33]

for item in arr {
    print(item)
}

// 打印数组的下标及对应元素
for item in arr.enumerated() {
    print(item) // (offset: 0, element: 11) (offset: 1, element: 22) (offset: 2, element: 33)
}

// 下标遍历
for index in arr.indices {
    print(arr[index])
}

GitHub 源码:CollectionType.playground

到此这篇关于Swift 数组及常用方法详解总结的文章就介绍到这了,更多相关Swift 数组 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Swift学习教程之SQLite的基础使用

    Swift学习教程之SQLite的基础使用

    这篇文章主要给大家介绍了关于Swift学习教程之SQLite的基础使用,文中通过示例代码介绍的非常详细,对大家学习或者使用Swift SQLite具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Swift中循环语句中的转移语句 break 和 continue

    Swift中循环语句中的转移语句 break 和 continue

    这篇文章主要介绍了Swift中循环语句中的转移语句 break 和 continue,本文通过实例代码给大家介绍的非常详细,需要的的朋友参考下
    2016-12-12
  • 简单分析Swift语言的一些基本特征

    简单分析Swift语言的一些基本特征

    这篇文章主要介绍了Swift语言的一些基本特征,本文从各语言最基础的类与对象等方面来讲,需要的朋友可以参考下
    2015-07-07
  • swift中的@UIApplicationMain示例详解

    swift中的@UIApplicationMain示例详解

    这篇文章主要给大家介绍了关于swift中@UIApplicationMain的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • NotificationCenter类实现原理

    NotificationCenter类实现原理

    这篇文章主要为大家介绍了NotificationCenter类实现原理源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 在Swift中使用Objective-C编写类、继承Objective-C类

    在Swift中使用Objective-C编写类、继承Objective-C类

    这篇文章主要介绍了在Swift中使用Objective-C编写类、继承Objective-C类等操作方法介绍,需要的朋友可以参考下
    2014-07-07
  • 详解Swift 中的幻象类型

    详解Swift 中的幻象类型

    让我们来看看一种技术,它可以让我们利用 Swift 的类型系统在编译时执行更多种类的数据验证消除更多潜在的歧义来源,并帮助我们在整个代码库中保持类型安全,通过使用幻象类型(phantom types),对Swift 幻象类型相关知识感兴趣的朋友一起看看吧
    2022-05-05
  • 理解二叉堆数据结构及Swift的堆排序算法实现示例

    理解二叉堆数据结构及Swift的堆排序算法实现示例

    二插堆即是完全二叉树,对于排序可以按构建最大堆或最小堆的方式来实现,这里我们就来共同理解二叉堆数据结构及Swift的堆排序算法实现示例
    2016-07-07
  • 仓库模式及其在Swift 项目中的应用详解

    仓库模式及其在Swift 项目中的应用详解

    这篇文章主要为大家介绍了仓库模式及其在Swift 项目中的应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • swift语言AutoreleasePool原理及使用场景

    swift语言AutoreleasePool原理及使用场景

    这篇文章主要为大家介绍了swift语言AutoreleasePool原理及使用场景详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论