Swift Set集合及常用方法詳解總結(jié)
Swift 集合 Set 及常用方法
1. 創(chuàng)建Set集合
// 創(chuàng)建Set var set: Set<Int> = [1, 2, 3] var set2 = Set(arrayLiteral: 1, 2, 3)
2. 獲取元素
// set 獲取最小值 set.min() // 獲取第一個元素,順序不定 set[set.startIndex] set.first // 通過下標(biāo)獲取元素,只能向后移動,不能向前 // 獲取第二個元素 set[set.index(after: set.startIndex)] // 獲取某個下標(biāo)后幾個元素 set[set.index(set.startIndex, offsetBy: 2)]
3. 常用方法
// 獲取元素個數(shù) set.count // 判斷空集合 if set.isEmpty { print("set is empty") } // 判斷集合是否包含某個元素 if (set.contains(3)) { print("set contains 3") } // 插入 set.insert(0) // 移除 set.remove(2) set.removeFirst() // 移除指定位置的元素,需要用 ! 拆包,拿到的是 Optional 類型,如果移除不存在的元素,EXC_BAD_INSTRUCTION set.remove(at: set.firstIndex(of: 1)!) set.removeAll() var setStr1: Set<String> = ["1", "2", "3", "4"] var setStr2: Set<String> = ["1", "2", "5", "6"] // Set 取交集 setStr1.intersection(setStr2) // {"2", "1"} // Set 取交集的補集 setStr1.symmetricDifference(setStr2) // {"4", "5", "3", "6"} // Set 取并集 setStr1.union(setStr2) // {"2", "3", "1", "4", "6", "5"} // Set 取相對補集(差集),A.subtract(B),即取元素屬于 A,但不屬于 B 的元素集合 setStr1.subtract(setStr2) // {"3", "4"} var eqSet1: Set<Int> = [1, 2, 3] var eqSet2: Set<Int> = [3, 1, 2] // 判斷 Set 集合相等 if eqSet1 == eqSet2 { print("集合中所有元素相等時,兩個集合才相等,與元素的順序無關(guān)") } let set3: Set = [0, 1] let set4: Set = [0, 1, 2] // 判斷子集 set3.isSubset(of: set4) // set3 是 set4 的子集,true set3.isStrictSubset(of: set4) // set3 是 set4 的真子集,true // 判斷超集 set4.isSuperset(of: set3) // set4 是 set3 的超集,true set4.isStrictSuperset(of: set3) // set4 是 set3 的真超集,true
4. Set 遍歷
// 遍歷元素 for ele in set4 { print(ele) } // 遍歷集合的枚舉 for ele in set4.enumerated() { print(ele) } // 下標(biāo)遍歷 for index in set4.indices { print(set4[index]) } // 從小到大排序后再遍歷 for ele in set4.sorted(by: <) { print(ele) }
GitHub 源碼:SetType.playground
到此這篇關(guān)于Swift Set集合及常用方法詳解總結(jié)的文章就介紹到這了,更多相關(guān)Swift Set集合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iPhone與iWatch連接、控制、數(shù)據(jù)傳遞(Swift)的方法
這篇文章主要介紹了iPhone與iWatch連接、控制、數(shù)據(jù)傳遞(Swift)的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03swift指針及內(nèi)存管理內(nèi)存綁定實例詳解
這篇文章主要為大家介紹了swift指針及內(nèi)存管理內(nèi)存綁定實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11Swift利用指紋識別或面部識別為應(yīng)用添加私密保護功能
這篇文章主要給大家介紹了關(guān)于Swift利用指紋識別或面部識別為應(yīng)用添加私密保護功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用swift具有一定的參考學(xué)習(xí)價值,需要的朋友下面隨著小編來一起看看吧2018-05-05在SpringBoot中實現(xiàn)適配器模式的兩種方式
這篇文章主要介紹了在SpringBoot中實現(xiàn)適配器模式的兩種方式,通過實現(xiàn)類定義類型字段實現(xiàn)和以動態(tài)service名稱的方式實現(xiàn),并且通過代碼示例講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2024-03-03淺談在Swift中關(guān)于函數(shù)指針的實現(xiàn)
這篇文章主要介紹了淺談在Swift中關(guān)于函數(shù)指針的實現(xiàn),是作者根據(jù)C語言的指針特性在Swifft中做出的一個實驗,需要的朋友可以參考下2015-07-07Swift實現(xiàn)Selection Sort選擇排序算法的實例講解
選擇排序是一種穩(wěn)定的排序算法,且實現(xiàn)代碼通常比冒泡排序要來的簡單,這里我們就來看一下Swift實現(xiàn)Selection Sort選擇排序的實例講解2016-07-07