Swiftにおける**セット(Set)**は、重複しない値を無順序で格納するコレクション型です。配列(Array)との違いは、順序が保証されず、同じ値を複数回含めることができないという点にあります。SwiftのSet型は、ハッシュ可能な型(Hashableプロトコルに準拠している型)の値を格納できます。
セットの基本構文
または型推論を使って書くこともできます:
重複した値を入れても、自動的に取り除かれます:
セットの主な操作
要素の追加・削除
要素の確認
要素数の取得
空かどうか
セットの集合演算
Swiftのセットは数学的な集合操作をサポートしており、以下のような演算が可能です:
イテレーション(繰り返し処理)
順序は保証されませんが、for-inループで要素を順に取り出すことができます。
セットが適している場面
-
値の重複を許したくないとき
-
特定の値が存在するかどうかを高速にチェックしたいとき(検索は平均 O(1) の計算量)
まとめ
| 特徴 | 内容 |
|---|---|
| 重複 | 不可(同じ値は1つだけ) |
| 順序 | 保証されない |
| 型制限 | 要素はHashable準拠である必要がある |
| 主な用途 | 集合演算、存在確認、重複排除など |
生成日:2025/05/04