首页
/
每日頭條
/
生活
/
swift總結
swift總結
更新时间:2026-05-21 09:45:33
  • 數組(Array)是有序數據的集
  • 集合(Set)是無序無重複數據的集
  • 字典(Dictionary)是無序的鍵值對的集

注:Swift 中的數組、集合和字典必須明确其中保存的鍵和值類型

數組(Array)

有序列表存儲同一類型的多個值,相同的值可以多次出現

語法:Array<Element> or [Element] (推薦使用)

創建一個空數組

var ary : [String] = [] print("ary = \(ary)") // 打印結果: ary = [] // 添加一個 “123” ary.append("123") print("ary = \(ary)") // 打印結果: ary = ["123"]

創建有默認數據的數組

var ary1 = Array(repeating: 1, count: 2) var ary2 = [1,1] // ary1 等價于 ary2 var ary3 = ary1 ary2 // ary3 = [1,1,1,1] ary3 被推斷為 [Int]

數組的使用

// 獲取數組長度 ary3.count // 判斷數組是否有數據(count 是否為 0) ary3.isEmpty // 在最後面添加數據 6 ary3.append(6) ary3 =[6] // 根據下标獲取數據 ary[下标] // 0 開始 ary3[4] // 根據下标更改數據 // 改前: [1, 1, 1, 1, 6, 6] ary3[1] = 10 // ary3 = [1, 10, 1, 1, 6, 6] // 替換部分 2到4 ary3[2...4] = [17,18,67,89,0] // ary3 = [1, 10, 17, 18, 67, 89, 0, 6] //在指定位置添加數據項 // insert(newElement, at: Int) ary3.insert(22, at: 2) // ary3 = [1, 10, 22, 17, 18, 67, 89, 0, 6] // 删除指定位置數據 ary3.remove(at: 4) // ary3 = [1, 10, 22, 17, 67, 89, 0, 6] // 删除全部 ary3.removeAll() // 删除最後一個 ary3.removeLast() // 删除第一個 ary3.removeFirst()

注:最大索引值一直是 count - 1,下标 > count - 1 會照成數組下标越界

遍曆數組

for item in ary3 { print(item) }

集合(Set)

無序無重複數據的集

語法:Set<Element>

創建一個空集合

var st = Set<String>() print("st = \(st) ") // 打印 st = [] // 添加一個 ‘123’ st.insert("123") // st = ["123"]

創建有默認數據的集合

var st1:Set<String> = ["123","456","qbc","yusx"]

集合的使用

// 獲取集合長度 st1.count // 判斷集合是否有數據(count 是否為 0) st1.isEmpty // 添加數據 "iosa" st1.insert("iosa") // 删除指定數據數據 st1.remove("123") // 删除全部 st1.removeAll(); //集合中是否包含 "iosa" st1.contains("iosa") // 集合轉數組 st1.sorted

遍曆數組

for item in st1 { print(item) }

多個集合操作

swift總結(Swift筆記-集合類型)1

  • intersection(_:) 根據兩個集合的交集創建一個新的集合。
  • symmetricDifference(_:) 根據兩個集合不相交的值創建一個新的集合。
  • union(_:) 根據兩個集合的所有值創建一個新的集合。
  • subtracting(_:) 根據不在另一個集合中的值創建一個新的集合。

swift總結(Swift筆記-集合類型)2

  • 運算符(==)來判斷兩個集合包含的值是否全部相同。
  • isSubset(of:) 方法來判斷一個集合中的所有值是否也被包含在另外一個集合中。
  • isSuperset(of:) 方法來判斷一個集合是否包含另一個集合中所有的值。
  • isStrictSubset(of:) 或者 isStrictSuperset(of:) 方法來判斷一個集合是否是另外一個集合的子集合或者父集合并且兩個集合并不相等。
  • isDisjoint(with:) 方法來判斷兩個集合是否不含有相同的值(是否沒有交集)。
字典(Dictionary)

無序的鍵值對的集

語法:Dictionary<Key, Value>

創建一個字典

var dic:[String:Int] = [:] print("dic = \(dic)") // 打印 dic = [:] // 添加 dic["name"] = 123 // dic = ["name": 123]

創建有默認數據的字典

//[key 1: value 1, key 2: value 2] var dic1: [String: String] = ["name": "小明", "sex": "男"]

字典的使用

// 獲取集合長度 dic1.count // 判斷集合是否有數據(count 是否為 0) dic1.isEmpty // 添加數據 dic1["age"] = "22" // 改 dic1["age"] = "32" dic1.updateValue("小明1", forKey: "name") // 删除指定數據數據 dic1["age"] = nil dic1.removeValue(forKey: "age") // 删除全部 dic1.removeAll()

字典遍曆

for (dic1K, dic1V) in dic1 { print("\(dic1K): \(dic1V)") } // key for dic1K in dic1.keys { print(dic1K) } // value for dic1V in dic1.values { print(dic1V) }

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
面包為什麼會變硬
面包為什麼會變硬
面包會變硬主要原因是面包中的澱粉發生了老化,面包制作過程中,澱粉會吸收吸水膨脹,使面包松軟且有彈性但長時間放置的面包中的澱粉體積會不斷縮小,氣體逸出,使面包發硬、變幹。面包變硬不變質的情況下是可以食用的。面包為什麼會變硬 面包在存放的過程中會變硬是因為面包中的澱粉發生了老化。制作面包的主要原材料就是...
2026-05-21
皮床哪個品牌比較好 皮床有味道怎麼去除
皮床哪個品牌比較好 皮床有味道怎麼去除
對于進入購買家具階段的業主來說,天天都面臨着選擇困難。市面上各種家具多如牛毛,光材質可能就要分為好多種。就拿床來舉例,有皮的,有布藝的,價格不同,效果也不同,所以買前還是要做好攻略。今天小編就來和大家說說皮床哪個品牌比較好,皮床有味道怎麼去除的問題。皮床哪個品牌比較好1、顧家家居KUKA顧家家居是顧...
2026-05-21
幹蓮子要泡多久才可以煮
幹蓮子要泡多久才可以煮
幹蓮子要泡三小時才可以煮,因為幹蓮子是通過晾曬形成的幹燥蓮子,使用前需充分浸泡,才更容易煮爛。蓮子就是荷花的種子,它是一種非常好的食材,可以用來熬粥或者炖湯。泡幹蓮子最好用冷水或溫水,不宜使用沸水。幹蓮子要泡多久才可以煮 幹蓮子顧名思義是一種用新鮮蓮子通過晾曬形成的幹燥蓮子,它在食用前需要充分泡發,...
2026-05-21
電視劇收視率排行榜2022 電視劇收視率實時查詢
電視劇收視率排行榜2022 電視劇收視率實時查詢
最近有不少朋友們在反饋說找不到什麼好看的劇,開始劇荒了,這可真的是非常的無聊,今天小編就為大家帶來了這個月的電視劇收視率排行榜,讓我們一起來看看大家最近都在追什麼劇吧。第一部《數風流人物》收視:1.164%/1.016%總之,就像導演餘丁說的,這部劇中的每一個史實故事、每一個人物都是真實而鮮活的。在...
2026-05-21
大閘蟹蒸熟後放冰箱還能吃嗎 大閘蟹蒸熟後放冰箱過一會在拿出來還能吃嗎
大閘蟹蒸熟後放冰箱還能吃嗎 大閘蟹蒸熟後放冰箱過一會在拿出來還能吃嗎
大閘蟹是一種美味而又有營養的螃蟹,歸脾、肝、胃。具有清熱、養筋活血、祛痰、祛黃等作用。用于治療腰酸腿痛、風濕性關節炎、骨折瘀血等病症。但是我們有的時候會做多,那麼大閘蟹蒸熟後放冰箱還能吃嗎,大閘蟹的具體功效是什麼,讓我們一起來看看吧。大閘蟹蒸熟後放冰箱還能吃。如果煮熟後沒有吃完,可以用保鮮膜包裹起來...
2026-05-21
Copyright 2023-2026 - www.tftnews.com All Rights Reserved