Array陣列
- 陣列使用有序列表儲存同一型別的多個值。
- 相同的值可以多次出現在一個陣列的不同位置中。
- Array 維護一組有序排列的資料,依照次序存取資料具有效能上的優勢。
本堂課將學習:
- array = [ ]
- array.append()
- array.insert()
- array.removeLast()
- array.removeFirst()
- array.removeAll()
- array.count
- array.reversed()
下面這個範例創建了一個叫做shoppingList並且儲存字串的陣列:
var shoppingListArray = ["Six Eggs","Milk","Flour","Baking Powder","Bananas"]
因為所有字面量中的值都是相同的型別,Swift 可以推斷出String[]是shoppinglist中變數的正確型別。
由於程式是由0跟1開始,第一個陣列的index是0,也就是Six Eggs
Swift 的型別推斷機制,當我們用字面量建構只擁有相同型別值陣列的時候,我們不必把陣列的型別定義清楚。
shoppingList的建構,也可以這樣寫:
var shoppingListArray:[String] = ["Six Eggs","Milk","Flour","Baking Powder","Bananas"]
程式碼
var arrayA = ["a", "b"]
//先建立一個arrayA的陣列變數,裡面存有二個字串
//文字需加""
arrayA.append("c")
//一、多一個陣列值的方法1
//產出結果:["a", "b", "c"]
arrayA.insert("d", at: 3)
//一、多一個陣列值的方法2
//產出結果:["a", "b", "c", "d"]
arrayA += ["e"]
//一、多一個陣列值的方法3
//產出結果:["a", "b", "c", "d", "e"]
arrayA[4] = "f"
//二、取代陣列裡的資料的方法
//產出結果:["a", "b", "c", "d", "f"]
arrayA.removeLast()
//三、移除值的方法1:加入removeLast來移除最後一個資料
//產出結果:["a", "b", "c"]
arrayA.removeFirst()
//三、移除值的方法2:加入removeFirst來移除第一個資料
//產出結果:["b", "c"]
arrayA.removeAll()
//三、移除值的方法3:加入removeAll來移除全部資料
//產出結果:[]
var arrayB = ["a", "b", "c"]
arrayB.count
//產出結果:3
arrayB.reversed()
print(arrayB)
//產出結果:["a", "b", "c"]
arrayB = arrayB.reversed()
//產出結果:["c", "b", "a"]
arrayB = arrayB.reversed()
//產出結果:["a", "b", "c"]