Sets是存儲無序的相同類型的值,你可以在順序不重要的情況下使用Sets來替代數組,或者當你需要同一個值在集合中只出現一次時。 一、Sets類型語法 寫作Set<Element>,Element是sets允許存儲的類型 創建並初始化一個空的set 如果可以推斷出它元素的類型也可以寫作 通過數組字面量 ...
Sets是存儲無序的相同類型的值,你可以在順序不重要的情況下使用Sets來替代數組,或者當你需要同一個值在集合中只出現一次時。
一、Sets類型語法
寫作Set<Element>,Element是sets允許存儲的類型
創建並初始化一個空的set
var letters = Set<Character>()
print("letters is of type Set<Character> with \(letters.count) items.")
// Prints "letters is of type Set<Character> with 0 items.
如果可以推斷出它元素的類型也可以寫作
letters = []
通過數組字面量來創建set
var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]
// favoriteGenres has been initialized with three initial items
或者(因為可以推斷為set<String>)
var favoriteGenres:Set = ["Rock", "Classical", "Hip hop"]
// favoriteGenres has been initialized with three initial items
訪問和修改
count方法返回set的數據項數目
print("I have \(favoriteGenres.count) favorite music genres.")
// Prints "I have 3 favorite music genres.
isEmpty判斷set是否為空
contains(_:)檢查set對象是否包含特定的數據。
if favoriteGenres.contains("Funk") {
print("I get up on the good foot.")
} else {
print("It's too funky in here.")
}
// Prints "It's too funky in here.
添加新數據項
insert(_:)向現有的set對象添加新的數據
favoriteGenres.insert("Jazz")
// favoriteGenres now contains 4 items
刪除已有的數據項
remove(_:)向現有的set對象刪除已有的數據
if let removedGenre = favoriteGenres.remove("Rock") {
print("\(removedGenre)? I'm over it.")
} else {
print("I never much cared for that.")
}
// Prints "Rock? I'm over it.
遍歷set
使用forin語句遍歷set
for genre in favoriteGenres { print("\(genre)") } // Classical // Jazz // Hip hop
set無序存儲數據,使用sort()可以按到升序排序。
intersect(_:)創意一個包含兩set對象共有的數據的新的Set對象
exclusiveOr(_:)創意一個不包含兩set對象共有的數據的新的Set對象
union(_:)創意一個包含兩set對象所有的數據的新的Set對象
subtract(_:)創意一個只存在其中一個已有的set類型數據的新的Set對象
let oddDigits: Set = [1, 3, 5, 7, 9]
let evenDigits: Set = [0, 2, 4, 6, 8]
let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]
oddDigits.union(evenDigits).sort()
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
oddDigits.intersect(evenDigits).sort()
// []
oddDigits.subtract(singleDigitPrimeNumbers).sort()
// [1, 9]
oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
// [1, 2, 9]
==操作符比較2個set的值是否全部相同
let houseAnimals: Set = ["