/

Swift 中的陣列

Swift 中的陣列

本教程屬於 Swift 系列

我們使用陣列來創建一組項目。

在這個例子中,我們創建了一個包含 3 個整數的陣列:

1
var list = [1, 2, 3]

我們可以使用 list[0] 的語法來訪問第一個項目,使用 list[1] 訪問第二個項目,以此類推。

在 Swift 中,陣列中的元素必須具有相同的類型。

如果在聲明時初始化陣列,則可以推斷出類型,就像上面的例子一樣。

否則,必須聲明陣列可以包含的值的類型,方式如下:

1
var list: [Int] = []

另一種簡寫語法是:

1
var list = [Int]()

您也可以在初始化時明確指定類型,例如:

1
var list: [Int] = [1, 2, 3]

初始化陣列的快速方法是使用範圍運算符:

1
var list = Array(1...4) //[1, 2, 3, 4]

要獲取陣列中的項目數量,使用 count 屬性:

1
2
var list = [1, 2, 3]
list.count //3

如果陣列為空,則其 isEmpty 屬性為 true

1
2
var list = [1, 2, 3]
list.isEmpty //false

您可以使用 append() 方法在陣列的末尾添加一個項目:

1
2
var list: [Int] = [1, 2, 3]
list.append(4)

或者您可以使用 insert(newElement: <Type> at: Int) 方法在陣列的任意位置插入一個項目:

1
2
3
var list: [Int] = [1, 2, 3]
list.insert(17, at: 2)
//list is [1, 2, 17, 3]

陣列必須聲明為 var 才能修改。如果使用 let 聲明,則無法通過添加或刪除元素來修改它。

要從陣列中刪除一個項目,使用 remove(at:) 方法並傳遞要刪除的元素索引:

1
2
3
var list: [Int] = [1, 2, 3]
list.remove(at: 1)
//list is [1, 3]

removeLast()removeFirst() 是兩個方便的方法,用於刪除最後一個和第一個元素。

要從陣列中刪除所有項目,可以使用 removeAll() 或將其賦值為空陣列:

1
2
3
4
var list: [Int] = [1, 2, 3]
list.removeAll()
//或者
list = []

sort() 方法可對陣列進行排序:

1
2
3
var list = [3, 1, 2]
list.sort()
//list is [1, 2, 3]

這還有很多其他方法,但這些是基本的方法。

當陣列包含相同類型的相同元素時,它們是相等的:

1
[1, 2, 3] == [1, 2, 3] //true

陣列以值的形式傳遞,這意味著如果將陣列傳遞給函數或從函數返回,則該陣列會被複製。

陣列是一種集合,可以在循環中遍歷。