这篇文章主要为大家详细介绍了Swift4.0 Array数组的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
数组的介绍
数组(Array)是一串有序的由相同类型元素构成的集合,数组中的集合元素是有序的,可以重复出现。在Swift中数组类型是Array,是一个泛型集合。数组分成:可变数组和不可变数组,分别使用let修饰的数组是不可变数组,使用var修饰的数组是可变数组。
数组的初始化
一、初始化一个空数组(类型:[数据类型]())
1、创建一个整形的空数组
let array = [Int] ()
这里array 数组变量 被let 修辞 ,array数组是不可变数组,只能访问,不能修改
var array = [Int] ()
这里array 数组变量 被var 修辞 ,array数组是可变数组,可以动态修改
2、创建任意可存储任意类型的数组 [Any] ()
数组的使用
//创建一个可变数组(可存储任意类型的数据)
var arr:Array = [Any]()
//创建一个可变数组 (存储字符串类型)
// var arr1:[String] = [String]()
// 1 向数组添加元素 appped()函数
//1.1向数组添加一个元素
arr.append("xiaoming")
print("arr == \(arr)")
arr.append(1)
print("arr = \(arr)");
//1.2向数组添加一个数组
let addArr:Array = [1,2,"tianjia"] as [Any]
arr.append(addArr)
print("addArr = \(arr)")
//1.3使用加法赋值运算符(+=)也可以直接在数组后面添加元素但添加的元素必须是数组形式的 使用+=操作符时,右边的必须为数组,即使只有一个元素时也要为数组,还有就是通过这种方式你可以一次性给数组增加多个值
let addArr1 = [6,5] as [Any]
arr += addArr1
print("arr = \(arr)")
//1.4向数组插入元素
arr.insert("插入的元素", at: 1)
//2.移除数组里的元素
//2.1移除特定的元素
arr.remove(at: 0)
print("removeArr = \(arr)")
//2.2移除数组所有元素
arr.removeAll()
// removeAll方法接受一个参数,允许清空数组时是否保持数组的容量,该参数默认值为false,即将数组的capacity容量设置为0。如果你想保持容量,可以参考下代码:
// var originalCapacity = arr.capacity //
// originalCapacity = 12
// arr.removeAll(keepingCapacity: true)
// var newCapacity = arr.capacity //
// newCapacity = 12
// 由上代码可以看出emptyArray在需要重新分配内存之前可以存储12个值,然而使用removeAll(),newCapcity则等于0。
//2.3移除数组的第一个元素
// arr.removeFirst()
//2.4移除数组的最后一个元素
// arr.removeLast()
// 在这些移除的方法里都有返回被移除的数据
// 3. 数组的长度
let count = arr.count
print("arrCont = \(count)")
// 4.数组中元素的修改
arr[1] = "xiugai"
print("xiuGai = \(arr)")
// 5.访问数组中的元素
let item = arr[1]
print("item = \(item)")
遍历数组
var stringArr:[String] = ["xiaoming","tianya","xiaoming","tiantian"]
// 遍历数组
for item in stringArr {
print("iteem == \(item)")
}
for item in 0..<stringArr.count {
print("iteem == \(item)")
}
// 设置遍历的区间
for item in stringArr[0...2] {
print("iteem == \(item)")
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Swift4.0 Array数组详解
基础教程推荐
猜你喜欢
- swift 字符串String的使用方法 2023-07-05
- R语言数可视化Split violin plot小提琴图绘制方法 2022-12-10
- Go web部署报错panic: listen tcp xxxxxxx:8090: bind: cannot assign requested address 2023-09-05
- swift版webview加载网页进度条效果 2023-07-05
- asm基础——汇编指令之in/out指令 2023-07-06
- UEFI开发基础HII代码示例 2023-07-07
- ruby-on-rails-使用Nginx的Rails的多阶段环境 2023-09-21
- R语言基于Keras的MLP神经网络及环境搭建 2022-12-10
- R语言-如何将科学计数法表示的数字转化为文本 2022-11-23
- R包ggtreeExtra绘制进化树 2022-12-14