Swift-數組(Arrays)

本文屬個人筆記,不做詳解,僅供參考
參考文章:http://www.swift51.com/swift.html

數組使用有序列表存儲同一類型的多個值。相同的值可以多次出現(xiàn)在一個數組的不同位置中。

注意: Swift 的Array類型被橋接到Foundation中的NSArray類。 更多關于在Foundation和Cocoa中使用Array的信息,參見 Using Swift with Cocoa and Obejective-C 一書。

數組的簡單語法

寫 Swift 數組應該遵循像 Array<Element>這樣的形式,其中 Element是這個數組中唯一允許存在的數據類型。我們也可以使用像 [Element]這樣的簡單語法。盡管兩種形式在功能上是一樣的,但是推薦較短的那種,而且在本文中都會使用這種形式來使用數組。

數組的創(chuàng)建

我們可以使用構造語法來創(chuàng)建一個由特定數據類型構成的空數組:

var someInts = [Int]()
print("someInts is of type [Int] with \(someInts.count) items.")
// 打印 "someInts is of type [Int] with 0 items."

注意,通過構造函數的類型,someInts的值類型被推斷為[Int]。

或者,如果代碼上下文中已經提供了類型信息,例如一個函數參數或者一個已經定義好類型的常量或者變量,我們可以使用空數組語句創(chuàng)建一個空數組,它的寫法很簡單:[](一對空方括號):

someInts.append(3)
// someInts 現(xiàn)在包含一個 Int 值
someInts = []
// someInts 現(xiàn)在是空數組,但是仍然是 [Int] 類型的。

訪問和修改數組

我們可以通過數組的方法和屬性來訪問和修改數組,或者使用下標語法。
可以使用數組的只讀屬性count來獲取數組中的數據項數量:

print("The shopping list contains \(shoppingList.count) items.")
// 輸出 "The shopping list contains 2 items."(這個數組有2個項)

使用布爾值屬性isEmpty作為檢查count屬性的值是否為 0 的捷徑:

if shoppingList.isEmpty { 
print("The shopping list is empty.")
} else { 
print("The shopping list is not empty.")
}
// 打印 "The shopping list is not empty."(shoppinglist 不是空的)

也可以使用append(_:)方法在數組后面添加新的數據項:

shoppingList.append("Flour")
// shoppingList 現(xiàn)在有3個數據項,有人在攤煎餅

除此之外,使用加法賦值運算符(+=)也可以直接在數組后面添加一個或多個擁有相同類型的數據項:

shoppingList += ["Baking Powder"]
// shoppingList 現(xiàn)在有四項了
shoppingList += ["Chocolate Spread", "Cheese", "Butter"]
// shoppingList 現(xiàn)在有七項了

可以直接使用下標語法來獲取數組中的數據項,把我們需要的數據項的索引值放在直接放在數組名稱的方括號中:

var firstItem = shoppingList[0]
// 第一項是 "Eggs"

數組的遍歷

我們可以使用for-in循環(huán)來遍歷所有數組中的數據項:

for item in shoppingList { 
print(item)
}
// Six eggs
// Milk
// Flour
// Baking Powder
// Bananas

如果我們同時需要每個數據項的值和索引值,可以使用 enumerate()方法來進行數組遍歷。 enumerate()返回一個由每一個數據項索引值和數據值組成的元組。我們可以把這個元組分解成臨時常量或者變量來進行遍歷:

for (index, value) in shoppingList.enumerate() { 
print("Item \(String(index + 1)): \(value)")
}
// Item 1: Six eggs
// Item 2: Milk
// Item 3: Flour
// Item 4: Baking Powder
// Item 5: Bananas

數組的應用

數組去重

var array = [String]()
let result = Array(Set(array))

獲取指定元素在數組中的位置

let index = array.indexOf(“XX”)

刪除指定位置元素

array.removeAtIndex(index)

創(chuàng)建重復數組

array = Array.init(count:重復次數, repeatedValue:值)

數組與字符串互轉:
String->Array

let str = “sh,dfbg,e,f,v,vfgrt”
let strArray =str.componentsSeparatedByString(“,”)

Array->String

let strArray = [“a”,”b”,”c”]
let str = strArray.joinWithSeparator(“,”)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容