2015年8月10日 星期一

【Swift 筆記 Draft】第 3 講(1): 數組 Array


1. Array 是一組有次序的,由相同 data type 的 element 構成的集合 collection。
2. Array 中的 element 可以重複出現。
3. 以 let 宣告的 array 為不可變資料,無法新增修改刪除,而以 var 宣告的 array 資料可以。

 Swift 可新增、修改、刪除 Array 中的元素 element。(其他語言不可)


宣告與init

let colorArray = ["red","white","black"] // read only
println(colorArray)

var colorArray:[String] = ["red","white","black"] // read / write
var colorArray:Array = ["red","white","black"]

Array 中的 element,其 data type 需一致。若不一致,其 data type 轉換為 cocoa library 中的 NSArray / NSMutableArray。

var mixedTypeArray = ["abc", 1]

宣告 empty Array:

var nullArray1 = [String]()
var nullArray2:[String] = []
var nullArray3:Array = []

若宣告為下列,則不會使用 Swift 的 Array 這 data type,而是轉換成 NSMutableArray:

var nullArray = []

宣告固定長度 Array:

var fixedLengthArray = [Int](count:3, repeatedValue:1)


Array 相加:

var array1 = [1, 2, 3]
var array2 = [4, 5,6]
var array3 = array1 + array2 // [1,2,3,4,5,6]

Array 的 getter / setter:

var array1 = [1, 2, 3]
println(array1[0])  // 1
array1[0] = 0 // array1[1] = [0, 2, 3]

Array 區間 range 之 Assignment:

arrayName[min ... max] = [item1, item2, ...,itemn]
arrayName[min ..< max] = [item1, item2, ...,itemn]

var num[0 ... 2] = [1, 2, 3]

Array 新增、刪除 element:

append : array1.append(9) // array1 = [1,2,3,9]
+ : array1 += [8] // array1 = [1,2,3,8]
insert : array1.insert(7,atIndex:array1.count) // array1 = [1,2,3,7]
removeLast : array1.removeLast  // array1 = [1,2]
removeAtIndex : array1.removeAtIndex(0) // array1 = [2, 3]
removeAll
empty
count

Array Iteration:

var array1 = [1, 2, 3]
for i in array1 {
  println("i = \(i)")
}

for (index, value) in enumerate(array1){
  println("index \(index): \(value)")

執行結果:

index 0: 1
index 1: 2
index 2: 3

沒有留言:

張貼留言

prettyPrint();