集合(sets)

集合(Sets)操作

因为Set的特性(用来储存相同型别且没有顺序、没有重复的值 ),Swift提供以下几个方法,依据两个Set之间交集(有相同的值)与否的关系来创建新的Set:

intersect(_:)创建一个新的Set,其内的值为两个Set中个别都包含的值。
exclusiveOr(_:)创建一个新的Set,其内的值为两个Set中只单独存在其中一个Set的值。
union(_:)创建一个新的Set,其内的值包含两个Set中所有的值。
subtract(_:)创建一个新的Set,其内的值在一个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.intersect(evenDigits).sort()
// [] 空 Set 因為兩個 Set 沒有交集

oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
// [1, 2, 9] 因為兩個 Set 都有 3,5,7 
// 所以返回兩個 Set 中 除了這三個值以外的值

oddDigits.union(evenDigits).sort()
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 包含兩個 Set 中所有的值

oddDigits.subtract(singleDigitPrimeNumbers).sort()
// [1, 9] 因為 3,5,7 在 singleDigitPrimeNumbers 內
// 所以返回 oddDigits 中 除了這三個值之外的值

你可能感兴趣的:(集合(sets))