集合(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 中 除了這三個值之外的值
网友评论