swift學習-集合(Set)

Set類型語法:

Swift中的Set類型被寫為Set,這里的T表示Set中允許存儲的類型。

創建和構造一個空的Set

1.你可以通過構造器語法創建一個特定類型的空集合:

var letters = Set()

2.一個空的數組字面量創建一個空的Set:

var letters = Set()

leters.insert("a")

letters = []

3.用數組字面量創建集合

var favoriteGenres: Set =?["Rock","Classical",Hip hop""]

這里將favoriteGenres顯示聲明為Set,如果不這么做,favoriteGenres會被推斷為Array類型.

訪問和修改一個Set

1.為了找出一個Set中元素的數量,可以使用其只讀屬性count

2.使用布爾屬性isEmpty,作為一個縮寫形勢去檢查count屬性是否為0

3.你可以通過調用Set的insert(_:)方法來添加一個新元素

4.用Set的remove(_:)方法去刪除一個元素,也可以通過removeAll()方法刪除所有元素

5.使用contains(_:)方法去檢查Set中是否包含一個特定的值

6.Set和Array不同的是,Set是無序的,可以通過調用sort()方法來進行排序。

基本集合操作

1.使用intersect(_:)方法根據兩個集合中都包含的值創建的一個新的集合。

2.使用symmetricDifference(_:)方法很據只在一個集合中但不在兩個集合中的值創建一個新的集合。

3.使用union(_:)方法根據兩個集合的值創建一個新的集合。

4.使用subtract(_:)方法根據不在該集合中的值創建一個新的集合。

集合成員關系和相等

下面的插圖描述了三個集合a,b和c,以及通過懸浮區域表述集合間共享的元素。Set a是Set b的父集合,因為 a 包含了 b中所有元素,相反的,Set b 是 a 的子集合,因為屬于b的元素也被a 包含。Set b 和Set c彼此不關聯,因為他們之間沒有共同的元素。

1.使用“是否等”運算符(==)來判斷兩個集合是否包含全部相同的值。

2.使用isSubsetOf(_:)方法來判斷一個集合中的值是否也被包含在另外一個集合中。

3.使用isSupersetOf(_:)方法來判斷一個集合中包含的值是否含有另一個集合中所有的值。

4.使用isStrictSubsetOf(:)或者isStrictSupersetOf(:)方法來判斷一個集合是否是另外一個集合的子集合或者父集合并且和特定集合不相等。

5.使用isDisjointWith(_:)方法來判斷兩個集合是否不含有相同的值

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Set類型語法 Swift中的Set類型被寫為Set<T>,這里的T表示Set中允許存儲的類型。 創建和構造一個空...
    JaneJie閱讀 8,042評論 4 5
  • 1 .數組 Arrays 數組使用有序列表存儲同一類型的多個值。相同的值可以多次出現在一個數組的不同位置中。這和O...
    iceMaple閱讀 477評論 0 1
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • 飛離廣州時,天空陰暗潮濕,我趴在玄窗上看著廣州城,思念之情勃然而出。暗戀,就像一場無法醒來的夢。自己如一只辛勤的小...
    阿斯彭閱讀 462評論 0 0
  • 一、本周整體情況描述 本周的任務主要是做“幸福在敲門”ppt30頁,閱讀完《九型人格》,完成5篇寫來來訓練營訓練,...
    柒柒小醬閱讀 218評論 0 0