Swift の Set(セット)で集合の演算

ここでは Swift の Set(セット)で集合の演算をする方法についてご説明します。

intersection() で Set(セット)の積集合を取得する

Swift の Set(セット)の intersection() メソッドを使って、もうひとつの Set と同じ要素だけを持つ Set を取得することができます。

Swift の Set(セット)オペレーション 1


実際に intersection() メソッドを使って、二つのセットの共通部分の要素を持つ Set を取得してみます。

let set1: Set = [1, 2, 3, 4, 5, 6, 7, 8]
let set2: Set = [3, 6, 9, 12]

let set3 = set1.intersection(set2)
print(set3)

実行結果は次のようになり、set1 にも set2 にも存在する 3 と 6 を要素に持つ Set が取得できました。

[3, 6]

union() で Set(セット)の和集合を取得する

Swift の Set(セット)の union() メソッドを使って、もうひとつの Set との和集合の要素持つ Set を取得することができます。

Swift の Set(セット)オペレーション 2


実際に union() メソッドを使って、二つのセットの和集合の要素を持つ Set を取得してみます。

let set1: Set = [1, 2, 3, 4, 5, 6, 7, 8]
let set2: Set = [3, 6, 9, 12]

let set3 = set1.union(set2)
print(set3)

実行結果は次のようになり、set1 と set2 の和集合をを要素に持つ Set が取得できました。

[9, 4, 2, 3, 5, 7, 8, 12, 6, 1]

subtracting() で Set(セット)の差集合を取得する

Swift の Set(セット)の subtracting() メソッドを使って、もうひとつの Set との差集合の要素持つ Set を取得することができます。

Swift の Set(セット)オペレーション 3


実際に subtracting() メソッドを使って、二つのセットの差集合の要素を持つ Set を取得してみます。

let set1: Set = [1, 2, 3, 4, 5, 6, 7, 8]
let set2: Set = [3, 6, 9, 12]

let set3 = set1.subtracting(set2)
print(set3)

実行結果は次のようになり、set1 から、set2 と共通する 3, 6 がなくなったの差集合を要素に持つ Set が取得できました。

[4, 7, 8, 1, 5, 2]

symmetricDifference() で Set(セット)の対称差集合を取得する

Swift の Set(セット)の symmetricDifference() メソッドを使って、もうひとつの Set との対称差集合の要素持つ Set を取得することができます。

Swift の Set(セット)オペレーション 4


実際に subtracting() メソッドを使って、二つのセットの対称差集合の要素を持つ Set を取得してみます。

let set1: Set = [1, 2, 3, 4, 5, 6, 7, 8]
let set2: Set = [3, 6, 9, 12]

let set3 = set1.symmetricDifference(set2)
print(set3)

実行結果は次のようになり、set1 と set2 の和集合から、set1 と set2 の積集合を除いた要素に持つ Set が取得できました。

[4, 8, 5, 1, 12, 9, 2, 7]

以上、Swift の Set(セット)で集合の演算をする方法についてご説明しました。

© 2024 iOS 開発入門