Swfit:陣列、字典、集合
阿新 • • 發佈:2018-11-12
1. 陣列
import UIKit var arr = [Int]() for i in 0 ..< 10 { arr.append(i) } arr[2 ... 5] arr.contains(11) // 返回一個布林值 arr.index(of: 1) // 返回1對應的下標 for (index, value) in arr.enumerated() { print("\(index + 1): \(value)") } let arr2 = arr arr == arr2 // 內容是一樣的,返回true arr += [10, 11] // 新增新元素 arr.insert(12, at: 12) arr.remove(at: 0) arr.removeSubrange(2 ... 4) // 去除第3,4,5項 arr[0 ... 1] = [100, 100, 100] // 將前兩個數換成三個100 arr var board = [[1, 2, 3], [4, 5, 6]] board += [[0]] // 二維陣列用 += 新增元素要括兩層陣列 print(board) // NSArray 可以承載不同的資料型別,是一個類 // Swift中的陣列不能承載不同的資料型別,是一個結構體 var arr3: NSArray = [1, "sss"] // 可以有不同的型別
2. 字典
import Foundation var dic = [String: Int]() //申明空字典 dic["a"] = 1 dic["b"] = 2 dic.count dic.isEmpty Array(dic.keys) // 所有鍵組成一個數組 Array(dic.values) // 所有值組成一個數組 for key in dic.keys { print(key) } for (key, value) in dic { print("\(key): \(value)") } let dic2 = dic dic == dic2 // 字典是結構體型別,只用於判斷內容是否相等,沒有引用的概念 // 修改值 dic["a"] = 10 // 方法一 dic.updateValue(4, forKey: "a") // 方法二,並返回舊的值 dic // 新增 dic["c"] = 3 dic.updateValue(2, forKey: "d") //刪除 dic["c"] = nil dic.removeValue(forKey: "a") dic
3. 集合
import Foundation import UIKit var num = Set<Int>() var num2 = Set([1, 3, 3]) // 去重 num2.count num2.isEmpty num2.first // 隨機的取出一個元素 for i in num2 { print(i) } let num3 = num2 num2 == num3 // 增 num2.insert(4) num2 // 刪 num2.remove(4) num2 // 沒有改 // 並 var set1 = Set([1, 2, 3, 4]) var set2 = Set([2, 3, 4, 5]) set1.union(set2) // 並不改變set1 set1 set1.formUnion(set2) // 改變set1 set1 // 交 set1.intersection(set2) set1 set1.formIntersection(set2) set2 // 差 var set3 = Set([1, 2, 3, 4]) var set4 = Set([2,3,5]) set3.subtracting(set4) // set3獨有而set4沒有,不改變set3 set3 set3.subtract(set4) //改變set3 set3