2.1數組express
1arrayswift
添加相同類型元素: 1.先把常量的值賦給變量數組
9> var VarFruitJay = FruitJay VarFruitJay: [String] = 4 values { [0] = "apple" [1] = "pear" [2] = "orange" [3] = "banana" }
2.再經過"append()"或"+="添加元素 //方法1app
10> VarFruitJay.append("pineApple") //方法2 11> VarFruitJay += ["peanut"] 12> VarFruitJay $R2: [String] = 6 values { [0] = "apple" [1] = "pear" [2] = "orange" [3] = "banana" [4] = "pineApple" [5] = "peanut" }
數組添加不一樣類型元素: 轉換表示數組的類型爲Anyui
17> var array1:[Any] = ["dog",1] array1: [Any] = 2 values { [0] = "dog" [1] = 1 } 18> array1.append(1) 19> array1 $R3: [Any] = 3 values { [0] = "dog" [1] = 1 [2] = 1 }
替換code
23> array1 R5:[Any]=3values[0]="dog"[1]=1[2]=124>array1[0]="Cat"25>array1R6: [Any] = 3 values { [0] = "Cat" [1] = 1 [2] = 1 }
刪除值圖片
26> array1.remove(at:2) R7:Int=127>array1R8: [Any] = 2 values { [0] = "Cat" [1] = 1 }
刪除最後一個元素rem
28> array1.removeLast() R9:Int=129>array1R10: [Any] = 1 value { [0] = "Cat" }
刪除所有元素it
30> array1.removeAll() 31> array1 $R11: [Any] = 0 values
將值插入指定位置io
33> var FruitJay : [Any] = ["apple",2017,true,"orange"] FruitJay: [Any] = 4 values { [0] = "apple" [1] = 2017 [2] = true [3] = "orange" } 34> FruitJay.insert("Zoujie",at:3) 35> FruitJay $R13: [Any] = 5 values { [0] = "apple" [1] = 2017 [2] = true [3] = "Zoujie" [4] = "orange" }
數組合並 任意類型值數組合並相同類型值數組
36> var antherFood : [Any] = [2018,false,"zhouerke"] antherFood: [Any] = 3 values { [0] = "2018" [1] = false [2] = "zhouerke" } 37> var Drink = ["cola","juice","water"] Drink: [String] = 3 values { [0] = "cola" [1] = "juice" [2] = "water" } 38> var supper:[Any] = antherFood + Drink 40> supper $R14: [Any] = 6 values { [0] = 2018 [1] = false [2] = "zhouerke" [3] = "cola" [4] = "juice" [5] = "water" }
數組添加數組
43> var Drink2 = ["orange juice","baisi cole"] Drink2: [String] = 2 values { [0] = "orange juice" [1] = "baisi cole" } 44> Drink2 += Drink 45> print (Drink2) ["orange juice", "baisi cole", "cola", "juice", "water"]
2.2字典
var PersonValue = ["face":20_000,"leg":1_000,"health":30_000_000,"hand":10_000,"head":3_000_000] PersonValue: [String : Int] = 5 key/value pairs { [0] = { key = "health" value = 30000000 } [1] = { key = "hand" value = 10000 } [2] = { key = "leg" value = 1000 } [3] = { key = "face" value = 20000 } [4] = { key = "head" value = 3000000 } }
value能夠聲明Any任意類型元素
4> var Anydic : [String: Any] = ["1":1,"2":"2.1","3":3] Anydic: [String : Any] = 3 key/value pairs { [0] = { key = "2" value = "2.1" } [1] = { key = "1" value = 1 } [2] = { key = "3" value = 3 } }
Swift經過排列鍵來確保檢索和訪問的效率,你不能根據聲明順序肯定存儲順序
查找條目
6> PersonValue ["face"] $R0: Int? = 20000 7> var newDic = ["someKey":nil] error: repl.swift:7:14: error: type of expression is ambiguous without more context var newDic = ["someKey":nil] 8> var newDic = [nil:1] error: repl.swift:8:14: error: type of expression is ambiguous without more context var newDic = [nil:1]
字典鍵和值都不能指定爲nil
8> PersonValue ["none"] $R1: Int? = nil
字典將值返回爲可選類型,是由於查詢字典時使用的鍵可能不存在
添加&&更新條目
10> PersonValue ["none"] = 500_000 11> PersonValue ["face"] = 5 12> PersonValue $R2: [String : Int] = 6 key/value pairs { [0] = { key = "none" value = 500000 } [1] = { key = "health" value = 30000000 } [2] = { key = "hand" value = 10000 } [3] = { key = "leg" value = 1000 } [4] = { key = "face" value = 5 } [5] = { key = "head" value = 3000000 } }
刪除條目
14> PersonValue ["face"] = nil//直接設置鍵的值爲nil 15> PersonValue.removeValue(forKey:"leg")//語法刪除 R4:Int?=100016>PersonValueR5: [String : Int] = 4 key/value pairs { [0] = { key = "none" value = 500000 } [1] = { key = "health" value = 30000000 } [2] = { key = "hand" value = 10000 } [3] = { key = "head" value = 3000000 } }
數組嵌套
23> var array1:[Any] = ["name",23,"age"] array1: [Any] = 3 values { [0] = "name" [1] = 23 [2] = "age" } 24> var array2:[Any] = [true,"sex"] array2: [Any] = 2 values { [0] = true [1] = "sex" } 25> let array3 = ["weight","height"] array3: [String] = 2 values { [0] = "weight" [1] = "height" } 26> let sumArray = [array1,array2,array3] sumArray: [[Any]] = 3 values { [0] = 3 values { [0] = "name" [1] = 23 [2] = "age" } [1] = 2 values { [0] = true [1] = "sex" } [2] = 2 values { [0] = "weight" [1] = "height" } }
字典嵌套
27> let sumDic = ["key1":array1,"key2":array2,"key3":array3] sumDic: [String : [Any]] = 3 key/value pairs { [0] = { key = "key2" value = 2 values { [0] = true [1] = "sex" } } [1] = { key = "key3" value = 2 values { [0] = "weight" [1] = "height" } } [2] = { key = "key1" value = 3 values { [0] = "name" [1] = 23 [2] = "age" } } }
查詢
28> sumDic["key1"] $R10: [Any]? = 3 values { [0] = "name" [1] = 23 [2] = "age" }
建立空數組 普通方式
29> var myEmptyArray : Array = [] myEmptyArray: [Int] = 0 values 簡潔方式 30> var myEmptyArray = Any myEmptyArray: [Any] = 0 values
給數組賦空值,刪除全部元素
31> myEmptyArray += ["1",true,2] 32> myEmptyArray $R11: [Any] = 3 values { [0] = "1" [1] = true [2] = 2 } 33> myEmptyArray = [] 34> myEmptyArray $R12: [Any] = 0 values
建立空字典
35> var myEmptyDic = Dictionary() myEmptyDic: [String : Double] = 0 key/value pairs 36> var myEmptyDic = Int: String myEmptyDic: [Int : String] = 0 key/value pairs
聲明後在清空
37> myEmptyDic = [:] 38> myEmptyDic $R13: [Int : String] = 0 key/value pairs
迭代數組
39> for arr in sumArray{ 40. print("(arr)") 41. } ["name", 23, "age"] [true, "sex"] ["weight", "height"] 42> for (index , arr) in sumArray.enumerated(){ 43. print("(arr)is in (index) of the array") 44. } ["name", 23, "age"]is in 0 of the array [true, "sex"]is in 1 of the array ["weight", "height"]is in 2 of the array
迭代字典
45> for (key , value) in sumDic{ 46. print("(key) and (value)") 47. } key2 and [true, "sex"] key3 and ["weight", "height"] key1 and ["name", 23, "age"]
遍歷全部值
54> for (value) in sumDic.values{ 55. print("(key)") 56. } [true, "sex"] ["weight", "height"] ["name", 23, "age"]
遍歷全部鍵
51> for (key) in sumDic.keys{ 52. print("(key)") 53. } key2 key3 key1