集合(Set)
定義:用來存儲相同類型呻疹,每個元素只出現(xiàn)一次且沒有確定順序的值膀哲。
創(chuàng)建集合Set(需要遵循Set<Element>)
- 創(chuàng)建和構造一個空的集合
<code>
《1. var letter = Set<Character>()
《 2. letter.insert("a") letter = []
</code> - 用數(shù)組字面量創(chuàng)建集合
<pre>同數(shù)組一致</pre>
訪問和修改
<pre>
1.獲取數(shù)量的只讀屬性count
2.判斷是否為空isEmpty
3.添加一個元素insert(_:) 例子:letter.insert("b")
4.刪除一個元素remove(_:) 例子:letter.remove("a")
如果Set集合里包含刪除的值舞竿,調(diào)用刪除則返回刪除的元素值暇仲。否則返回nil
5.刪除所有元素removeAll()
6.檢查Set集合里面是否包含一個特定的值contains(_:)
7.Set類型沒有確定的順序久妆,如果想要按照特定順序遍歷Set 里的值缩麸,可以使用方法sorted()方法。
這個順序是由操作符"<"對元素進行比較的結果缀遍。
</pre>
集合基本操作
<pre>
- 通過二個集合相同值創(chuàng)建一個新的集合 intersection(_:) 方法
- 根據(jù)在一個集合中但不在二個集合里的值創(chuàng)建新的集合 symmetricDifference(_:)
- 根據(jù)二個集合的值創(chuàng)建一個新的集合 union(_:)
- 根據(jù)不在該集合中的值創(chuàng)建一個新的集合 subtracting(_:)
</pre>
集合成員關系
<pre>
. 使用“是否相等”運算符來判斷二個集合是否包含全部相同的值家淤。
. 使用isSubset(of:) 方法判斷一個集合中的值是否也被包含在另外一個集合中。
. 使用isSuperset(of:) 方法來判斷一個集合中包含另外一個集合中所有的值瑟由。
. 使用isStrictSubset(of:) 或者 isStrictSuperset(of:) 方法來判斷一個集合是否是另外一個集合的子集合或者父集合并且二個集合并不相等。
. 使用isDisjoint(with:) 方法來判斷二個集合是否不包含有相同的值(是否沒有交集)
</pre>