创建空集合
import UIKit
// 创建空集合
var letters = Set<Character>()
print("letters is of type Set<Character> with \(letters.count) items")
letters.insert("a")
letters = []
创建有元素的集合
// 创建有元素的集合
var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]
print("I have \(favoriteGenres.count) favorite music genres")
// 集合空的判断
if favoriteGenres.isEmpty {
print("As far as music goes, I'm not picky.")
} else {
print("I have particular music preferences.")
}
单个集合的基本操作
// 集合插入元素
favoriteGenres.insert("Jazz")
// 集合移除元素
if let removeGenre = favoriteGenres.remove("Rock") {
print("\(removeGenre)? I'm over it.")
} else {
print("I never much cared for that.")
}
// 集合包含元素
if favoriteGenres.contains("Funk") {
print("I get up on the good foot.")
} else {
print("It's too funky in here.")
}
遍历集合
// 遍历集合
for genre in favoriteGenres {
print("\(genre)")
}
print("排序之后输出")
for genre in favoriteGenres.sort() {
print("\(genre)")
}
console log 如下:
多个集合的操作
// 集合的操作
let oddDigits: Set = [1, 3, 5, 7, 9]
let evenDigits: Set = [0, 2, 4, 6, 8]
let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]
// 两个集合的并集
let unionSet = oddDigits.union(evenDigits).sort()
print(unionSet)
// 两个集合的交集
let interSectSet = oddDigits.intersect(evenDigits).sort()
print(interSectSet)
// 在A集合里面但是不在B集合里面
let subtractingSet = oddDigits.subtract(singleDigitPrimeNumbers).sort()
print(subtractingSet)
console log 如下:
集合关系的操作
let houseAnimals: Set = ["🐶", "🐱"]
let farmAnimals: Set = ["🐮", "🐔", "🐏", "🐶", "🐱"]
let cityAnimals: Set = ["🐦", "🐭"]
// houseAnimals 是 farmAnimals 的子集
houseAnimals.isSubsetOf(farmAnimals)
// farmAnimals 是 houseAnimals 的父集
farmAnimals.isSupersetOf(houseAnimals)
// farmAnimals 和 cityAnimals 没有交集
farmAnimals.isDisjointWith(cityAnimals)