swift學習筆記之二——集合

來源:互聯網
上載者:User

標籤: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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.