从0开始学swift--数组与字典

数组

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"

 

持续更新中。。。。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页