[Swift] Set の便利な関数の説明

Swift

アプリケーションを開発していると、2つの配列や集合の共通部分や相違を知りたくなることがあります。
Swift の Set には、便利な関数が良いされているので、紹介します。

Union/Intersect/Subtract

大きく分けて、3つの操作ができます。(引用元: Wikipedia)

  • 和集合:いずれかの集合に含まれている要素 を持つ集合
    Union
  • 交差:どちらの集合にも含まれている要素 を持つ集合
    intersect
  • 差集合:1つの集合に含まれている要素のうち他方の集合に含まれていない要素 を持つ集合

    sub

上記それぞれについて、自分自身(自集合)を変更するものと、新たに集合を作成するものが用意されています。

自集合を変更するもの

それぞれ、Playgroundでのコードを示します。

いずれも、2つの集合を使いますので、どちらの集合が変更されるのかに気をつける必要があります。

なお、変数の型は、Set ですので、実行結果の表示順番に意味はありません。

また、自分自身を変更するために、変更される側の Set は、var で定義される必要があります。

formUnion

set1 を set1 と set2 の和集合にします。

formUnion

formIntersection

set1 を set1 と set2 の交差集合にします。

formIntersection

subtract

set1 を set1 から set2 を引いた差集合にしています。

formIntersection

新しい集合を作るもの

既存の set を変更せずに新しい集合を作る関数も用意されています。

union

set1 と set2 の和集合を作成しています。

union

intersection

set1 と set2 の交差集合を作成しています。

intersection

subtracting

subtracting

まとめ:Set に用意されている集合操作関数は便利です

和・差・積(交差部分は、積とも呼ばれます)が用意されています。

このような操作関数は、自分で作ると意外とバグが入りやすいので、このように関数がすでに用意されていると便利ですよね。

説明は以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です