数组
swift数组的内元素的类型是统一的,不允许插入不同类型
初始化数组
初始化空数组
var arr = [String]()
//已经初始化的数组赋空
arr = []
//使用布尔项isEmpty来作为检查count属性的值是否为0的捷径。
if arr.isEmpty { }
初始化有值的数组(值为String类型)
let arr:[String] = ["1","2","3"]
//通过count属性检查数组长度
print(arr.count) //3
注:其实为了保证可读性,个人习惯在声明一个变量时明确写出它的类型,如下
let str:String = "123"
let arr:Array<String> = ["1","2","3"]
初始化器
利用初始化器构造一个长度为3,内容都为 char 的数组
let arr1 = Array(repeating: "char", count: 3)
let arr2:[String] = ["char","char","char"]
if arr1 == arr2{
print("equales")
}
//equales
arr1 与 arr2 是完全相等的
添加数据项
利用append(_:)
方法:
var arr:[Int] = [1,2,3]
arr.append(5)
// 1,2,3,5
使用添加赋值运算符(+=
)追加一个或多个兼容项的数组:
//注意:添加的类型必须和原来的类型相同
//添加单个字符
arr += [4]
//1234
//添加另一个字符串
arr += [5,6,7]
//1234567
访问和修改
var arr:[Int] = [1,2,3]
//通过下标访问值
print(arr[0]) //1
//通过下标修改值
arr[0] = 4
print(arr[0]) //4
//通过下标替换范围内的多个值
arr[1..<3] = [5,6]
//arr = [4,5,6]
在指定索引处将项插入数组,请调用数组的insert(_:at:)
方法:
shoppingList.insert("Maple Syrup", at: 0)
使用该remove(at:)
方法从数组中删除项,并返回删除项(不需要可以忽略)
//移除指定下标的元素
let mapleSyrup = shoppingList.remove(at: 0)
//移除最后一个元素
let mapleSyrup = shoppingList.removeLast()
//移除所有元素使用
shoppingList.removeAll()
注意:删除最后一项时使用removeLast()方法,避免访问count属性
遍历数组
let arr = [1,2,3]
for item in arr{
print(item)
}
//1 , 2 , 3
如果需要每个项的整数索引及其值,请使用该enumerated()
方法遍历数组。对于数组中的每个项,该enumerated()
方法返回由整数和项组成的元组。整数从零开始,每个项目加1; 如果枚举整个数组,则这些整数与项目的索引相匹配。您可以将元组分解为临时常量或变量,作为遍历的一部分:
for (index,value) in arr.enumerated(){
print("第 \(index) 个元素的值为 \(value)")
}
//第 0 个元素的值为 1
//第 1 个元素的值为 2
字典
创建一个空字典
var namesOfIntegers = [Int: String]()
创建一个包含初始值的字典
var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
注意:与数组一样,如果要使用其键和值具有一致类型的字典文字对其进行初始化,则不必编写字典类型。
访问和修改
访问
与数组一样,您可以Dictionary
通过检查其只读count
属性来查找a中的项目数
print("The airports dictionary contains \(airports.count) items.") // 2
注:可以使用isEmpty
属性作为检查count
属性是否等于0
添加与修改
可以使用下标语法将新项添加到字典中。使用适当类型的新键作为下标索引,并指定适当类型的新值:
airports["LHR"] = "London"
还可以使用下标语法来更改与特定键关联的值:
airports["LHR"] = "London Heathrow"
持续更新中。。。。。。