標籤:java 資料 io 2014 for cti
//===========================
//2014/7/21 17:27 swift集合
//===========================
swift提供了兩種集合類型,arrays和dictionaryies,兩種集合都是可變的,可以在集合聲明後對其進行新增、刪除和修改操作。
1、array
數組的定義與java數組相同,但swift的數組提供了更靈活的建立方式和操作方式。
數組建立和初始化方式:
var array1: Array<T> = [val1,val2,val3] var array2: T[] = [val1,val2,val3] // 常用
建立空數組
var arrays = Array<T>() var arrays = T[]()
建立重複值數組
var arrays = Array(count:3,repeateValue:0.0) // 編譯器會去自動識別值的類型 var arrays = T[](count:3,repeateValue:0.0)
常用函數和屬性:
array2.count (-> Int) // 輸出元素的個數 array2.isEmpty (-> Bool) // 判斷數組是否為空白數組 array2.append(val4) // 追加數組元素 array2 += val4 // 追加數組元素 array2 += [val5,val6] // 追加一組數組元素 array2[0] = val7 // 修改指定下表下元素的值 array2[4...6] = [val5,val6] // 將下標 4~6的元素,替換為對應的元素,這樣數組的元素個數可能減少或者增加 array2.insert(val7,atIndex:0) // 在指定下標增加新元素,自動向後移位 array2.removeAtIndex(0) // 移除指定位置的元素,並返回該元素。 array2.removeLast() // 移除最後一個元素,並返回鈣元素
數組的遍曆與java類似,for文法,採用swift的文法即可
for item in array2 { println("\(item)") }
取數組下標及下標對應的值,採用enumerate全域函數
for (index,value) in enumerate(array2) { println("item \(index + 1): \(value)") }
2、資料字典(Dictionary)
這裡的資料欄位是key-value形式的一組值
var dicts = ["cls1":"JAVA","cls2":"C++","cls3":"Swift"] dicts["cls3"] // 輸出 Swift dicts["cls3"] = nil // 會把 "cls3":"Swift"這一對值刪除 dicts["cls3"] = "C" // 修改值 dicts["cls4"] = "Swift" // 新增一對值 dicts.removeValueForKey["cls4"] // 根據key值刪除,並返回value
資料字典提供了 key-value遍曆,key遍曆,value遍曆
for (key, val) in dicts { println("\(key) : \(val)") } for key in dicts.keys { println("\(key)") } for val in dicts.values { println("\(val)") }
空資料字典執行個體化
var namesOfIntegers = [Int: String]() namesOfIntegers = [:] // 清空字典
資料字典的key的類型,必須是可以計算出hash值的類型
如果 a == b , 那麼有 a.hashValue = b.hashValue