2.使用集合

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
相關文章
相關標籤/搜索