Set類型語法:
Swift中的Set類型被寫為Set,這里的T表示Set中允許存儲的類型。
創(chuàng)建和構造一個空的Set
1.你可以通過構造器語法創(chuàng)建一個特定類型的空集合:
var letters = Set()
2.一個空的數(shù)組字面量創(chuàng)建一個空的Set:
var letters = Set()
leters.insert("a")
letters = []
3.用數(shù)組字面量創(chuàng)建集合
var favoriteGenres: Set =?["Rock","Classical",Hip hop""]
這里將favoriteGenres顯示聲明為Set,如果不這么做群嗤,favoriteGenres會被推斷為Array類型.
訪問和修改一個Set
1.為了找出一個Set中元素的數(shù)量,可以使用其只讀屬性count
2.使用布爾屬性isEmpty茵典,作為一個縮寫形勢去檢查count屬性是否為0
3.你可以通過調用Set的insert(_:)方法來添加一個新元素
4.用Set的remove(_:)方法去刪除一個元素,也可以通過removeAll()方法刪除所有元素
5.使用contains(_:)方法去檢查Set中是否包含一個特定的值
6.Set和Array不同的是蚀苛,Set是無序的,可以通過調用sort()方法來進行排序玷氏。
基本集合操作
1.使用intersect(_:)方法根據(jù)兩個集合中都包含的值創(chuàng)建的一個新的集合堵未。
2.使用symmetricDifference(_:)方法很據(jù)只在一個集合中但不在兩個集合中的值創(chuàng)建一個新的集合。
3.使用union(_:)方法根據(jù)兩個集合的值創(chuàng)建一個新的集合盏触。
4.使用subtract(_:)方法根據(jù)不在該集合中的值創(chuàng)建一個新的集合渗蟹。
集合成員關系和相等
下面的插圖描述了三個集合a,b和c,以及通過懸浮區(qū)域表述集合間共享的元素赞辩。Set a是Set b的父集合雌芽,因為 a 包含了 b中所有元素辨嗽,相反的,Set b 是 a 的子集合屉佳,因為屬于b的元素也被a 包含。Set b 和Set c彼此不關聯(lián)圆凰,因為他們之間沒有共同的元素。
1.使用“是否等”運算符(==)來判斷兩個集合是否包含全部相同的值送朱。
2.使用isSubsetOf(_:)方法來判斷一個集合中的值是否也被包含在另外一個集合中驶沼。
3.使用isSupersetOf(_:)方法來判斷一個集合中包含的值是否含有另一個集合中所有的值争群。
4.使用isStrictSubsetOf(:)或者isStrictSupersetOf(:)方法來判斷一個集合是否是另外一個集合的子集合或者父集合并且和特定集合不相等。
5.使用isDisjointWith(_:)方法來判斷兩個集合是否不含有相同的值