一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Swift - Swift Set集合及常用方法詳解總結(jié)

Swift Set集合及常用方法詳解總結(jié)

2021-12-26 17:38Lucky_William Swift

Set集合為集類(lèi)型,集是最簡(jiǎn)單的一種集合,存放于集中的對(duì)象不按特定方式排序,只是簡(jiǎn)單地把對(duì)象加入集合中,類(lèi)似于向口袋里放東西,對(duì)集中存在的對(duì)象的訪(fǎng)問(wèn)和操作是通過(guò)對(duì)象的引用進(jìn)行的,因此在集中不能存放重復(fù)對(duì)象

Swift 集合 Set 及常用方法

1. 創(chuàng)建Set集合

?
1
2
3
// 創(chuàng)建Set
var set: Set<Int> = [1, 2, 3]
var set2 = Set(arrayLiteral: 1, 2, 3)

2. 獲取元素

?
1
2
3
4
5
6
7
8
9
10
11
12
13
// set 獲取最小值
set.min()
 
// 獲取第一個(gè)元素,順序不定
set[set.startIndex]
set.first
 
// 通過(guò)下標(biāo)獲取元素,只能向后移動(dòng),不能向前
// 獲取第二個(gè)元素
set[set.index(after: set.startIndex)]
 
// 獲取某個(gè)下標(biāo)后幾個(gè)元素
set[set.index(set.startIndex, offsetBy: 2)]

3. 常用方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// 獲取元素個(gè)數(shù)
set.count
 
// 判斷空集合
if set.isEmpty {
   print("set is empty")
}
 
// 判斷集合是否包含某個(gè)元素
if (set.contains(3)) {
    print("set contains 3")
}
 
// 插入
set.insert(0)
 
// 移除
set.remove(2)
set.removeFirst()
 
// 移除指定位置的元素,需要用 ! 拆包,拿到的是 Optional 類(lèi)型,如果移除不存在的元素,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 取交集的補(bǔ)集
setStr1.symmetricDifference(setStr2) // {"4", "5", "3", "6"}
 
// Set 取并集
setStr1.union(setStr2) // {"2", "3", "1", "4", "6", "5"}
 
// Set 取相對(duì)補(bǔ)集(差集),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("集合中所有元素相等時(shí),兩個(gè)集合才相等,與元素的順序無(wú)關(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 遍歷

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 遍歷元素
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)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/java_android_man/article/details/121171452

延伸 · 閱讀

精彩推薦
  • Swiftmac git xcrun error active developer path 錯(cuò)誤

    mac git xcrun error active developer path 錯(cuò)誤

    本文主要是講訴了如何解決在mac下使用git;xcode4.6的環(huán)境時(shí),出現(xiàn)了錯(cuò)誤(mac git xcrun error active developer path)的解決辦法,希望對(duì)大家有所幫助...

    Swift教程網(wǎng)2232020-12-16
  • SwiftSwift教程之基礎(chǔ)數(shù)據(jù)類(lèi)型詳解

    Swift教程之基礎(chǔ)數(shù)據(jù)類(lèi)型詳解

    這篇文章主要介紹了Swift教程之基礎(chǔ)數(shù)據(jù)類(lèi)型詳解,本文詳細(xì)講解了Swift中的基本數(shù)據(jù)類(lèi)型和基本語(yǔ)法,例如常量和變量、注釋、分號(hào)、整數(shù)、數(shù)值類(lèi)型轉(zhuǎn)換等...

    Swift教程網(wǎng)5162020-12-18
  • SwiftSwift中轉(zhuǎn)義閉包示例詳解

    Swift中轉(zhuǎn)義閉包示例詳解

    在Swift 中的閉包類(lèi)似于結(jié)構(gòu)塊,并可以在任何地方調(diào)用,下面這篇文章主要給大家介紹了關(guān)于Swift中轉(zhuǎn)義閉包的相關(guān)資料,需要的朋友可以參考下...

    小小小_小朋友11412021-12-26
  • Swiftswift where與匹配模式的實(shí)例詳解

    swift where與匹配模式的實(shí)例詳解

    這篇文章主要介紹了swift where與匹配模式的實(shí)例詳解的相關(guān)資料,這里附有簡(jiǎn)單的示例代碼,講的比較清楚,需要的朋友可以參考下...

    追到夢(mèng)的魔術(shù)師14382021-01-06
  • SwiftSwift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    乞力馬扎羅的雪雪5822021-01-08
  • SwiftSwift能代替Objective-C嗎?

    Swift能代替Objective-C嗎?

    這是我在網(wǎng)上上看到的答案,復(fù)制粘貼過(guò)來(lái)和大家分享一下,因?yàn)槲液秃芏嗳艘粯雍荜P(guān)心Swift的出現(xiàn)對(duì)Mac開(kāi)發(fā)的影響和對(duì)Objective-C的影響。...

    Swift教程網(wǎng)4412020-12-16
  • SwiftSwift的74個(gè)常用內(nèi)置函數(shù)介紹

    Swift的74個(gè)常用內(nèi)置函數(shù)介紹

    這篇文章主要介紹了Swift的74個(gè)常用內(nèi)置函數(shù)介紹,這篇文章列舉出了所有的Swift庫(kù)函數(shù),內(nèi)置函數(shù)是指無(wú)需引入任何模塊即可以直接使用的函數(shù),需要的朋友可...

    Swift教程網(wǎng)5802020-12-19
  • SwiftSwift使用CollectionView實(shí)現(xiàn)廣告欄滑動(dòng)效果

    Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    Stevin的技術(shù)博客12372021-01-13
主站蜘蛛池模板: 我不卡影院手机在线观看 | 国产精品视频人人做人人爱 | 四虎精品永久在线网址 | 精品欧美一区二区三区在线观看 | bl高h荡肉古代np | 九九99热久久精品在线6 | 国产裸舞福利资源在线视频 | 精品成人一区二区三区免费视频 | 日本午夜小视频 | 清纯唯美 亚洲 | 国产精品久久久久一区二区三区 | 久久黄色小视频 | 国产123区在线视频观看 | 偷拍自拍校园春色 | 色综合合久久天天综合绕视看 | 1024香蕉视频 | 国内老司机精品视频在线播出 | 成年女人毛片免费观看中文w | 国模大胆一区二区三区 | 91精品免费国产高清在线 | 女教师雪白老汉 | 欧美三级做爰全过程 | 99福利在线观看 | 男男同志videos | 日韩高清一区二区 | kisssis无减删全集在线观看 | 久久久无码精品亚洲A片软件 | 日本动漫xxxxxx | japonensis日本护士18 | 妇女澡堂淋浴性 | 精品在线91 | 99久久香蕉| 国产免费福利片 | 贵妇的私人性俱乐部 | 亚洲成色 | 亚洲人成在线播放 | 欧美日韩亚洲综合久久久 | free哆拍拍免费永久视频 | 四虎精品成人免费观看 | 1769亚洲欧美资源站 | 亚洲色图欧美色 |