月ノ書

SwiftでSetを使いこなす方法|重複なしデータの管理と基本操作

この記事でわかること
  • SwiftのSetの特徴と基本概念
  • Setの作成方法と要素の追加・削除
  • Setを使った重複チェックや集合演算
  • 配列との違い、便利なメソッドの活用

SwiftのSetとは

Setは「重複しない値の集まり」を扱うデータ構造です
順序は保証されず、同じ値を複数持つことはできません
配列との違いをまとめるとこんな感じ

特徴配列(Array)集合(Set)
順序順序あり順序なし
重複可能不可
検索速度O(n)O(1)(平均)

Setの基本操作

作成

var fruits: Set<String> = ["りんご", "みかん", "バナナ"]

要素の追加

fruits.insert("ぶどう")

要素の削除

fruits.remove("みかん")

要素の確認

if fruits.contains("バナナ") {
    print("バナナが入っているよ")
}

Setの便利な使い方

集合演算

Setは集合演算が得意で、複数のSetを組み合わせることができます

let setA: Set = [1, 2, 3, 4]
let setB: Set = [3, 4, 5, 6]

let unionSet = setA.union(setB)         // 和集合
let intersectionSet = setA.intersection(setB) // 積集合
let differenceSet = setA.subtracting(setB)    // 差集合

重複の排除

配列の重複を簡単に削除したいときは、Setに変換するだけ

let numbers = [1, 2, 2, 3, 3, 3]
let uniqueNumbers = Set(numbers)

まとめ

Setは「順序を気にせず、重複を許さないデータ管理」ができる
集合演算や重複チェックを簡単に行えるので、配列より効率的な場合も多い
配列との使い分けを理解しておくと、Swiftのデータ処理がもっとスムーズになる

学習進捗