swift学习-集合(Set)

2015-08-11  本文已影响6689人  JaneJie

Set类型语法

Swift中的Set类型被写为Set<T>,这里的T表示Set中允许存储的类型。

创建和构造一个空的Set

var letters = Set<Character>()
var letters = Set<Character>()
leters.insert("a")
letters = []
var favoriteGenres: Set<String> = ["Rock","Classical",Hip hop""]

这里将favoriteGenres显示声明为Set<String>,如果不这么做,favoriteGenres会被推断为Array<String>类型.

访问和修改一个Set

基本集合操作

let oddDigits: Set = [1,3,5,7,9]
let ecenDigits: Set = [0,2,4,6,8]
let singleDigitPrimeNumbers : Set = [2,3,5,7]
oddDigits.union(ecenDigits).sort()
//[0,1,2,3,4,5,6,7,8,9]
oddDigits.intersect(ecenDigits).sort
//[]
oddDigits.subtract(singleDigitPrimeNumbers).sort()
//[1,9]
oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
//[1,2,9]

集合成员关系和相等

下面的插图描述了三个集合a,b和c,以及通过悬浮区域表述集合间共享的元素。Set a是Set b的父集合,因为 a 包含了 b中所有元素,相反的,Set b 是 a 的子集合,因为属于b的元素也被a 包含。Set b 和Set c 彼此不关联,因为他们之间没有共同的元素。

let houseAnimals : Set = ["?","?"]
let farmAnimals: Set = ["?","?","?","?","?"]
let cityAnimals: Set = ["?","?"]
houseAnimals. isSubsetOf(farmAnimals)
//true
farmAnimals. isSupersetOf(houseAnimals)
//true
farmAnimals. isDisjointWith(cityAnimals)
//true
上一篇 下一篇

猜你喜欢

热点阅读