カテゴリ: Swift 更新日: 2025/11/08

Swiftの連想配列(Dictionary)入門!キーと値の基本から型安全まで徹底解説

Swift 連想配列(Dictionary)入門|キー/値の扱いと型安全
Swift 連想配列(Dictionary)入門|キー/値の扱いと型安全

先生と生徒の会話形式で理解しよう

生徒

「Swiftで名前と年齢みたいなセットを一覧で持つ方法ってありますか?」

先生

「はい、SwiftではDictionaryという連想配列を使うことで、名前と年齢のような『キー』と『値』のペアを簡単に管理できますよ。」

生徒

「連想配列ってちょっと難しそう…初めてでも使えますか?」

先生

「もちろんです。一つ一つ順番に説明していくので、一緒に理解していきましょう!」

1. Dictionary(連想配列)とは?

1. Dictionary(連想配列)とは?
1. Dictionary(連想配列)とは?

SwiftのDictionary(ディクショナリ)は、「キー(Key)」と「値(Value)」をセットで管理するコレクション型です。たとえば「名前 → 年齢」のように、キーを使って値を簡単に取り出すことができます。

これは「名前で人の情報を検索する電話帳」のようなイメージです。普通の配列(Array)は順番でアクセスしますが、連想配列は名前(キー)でアクセスできるのが特徴です。

2. SwiftでDictionaryを作成する基本

2. SwiftでDictionaryを作成する基本
2. SwiftでDictionaryを作成する基本

Swiftでは、次のようにDictionaryを作成します。


var ages: [String: Int] = [
    "太郎": 20,
    "花子": 18,
    "次郎": 22
]

この例では、名前(String型)がキーで、年齢(Int型)が値になっています。キーと値の型をコロンでつなげて、[Key: Value]の形で書きます。

3. Dictionaryの値を取り出す方法

3. Dictionaryの値を取り出す方法
3. Dictionaryの値を取り出す方法

特定のキーに対応する値を取得するには、次のように書きます。


let ageOfTaro = ages["太郎"]
print(ageOfTaro)

Optional(20)

注意点として、Dictionaryから値を取り出すときはOptional(値があるかもしれない、ないかもしれない型)になります。これは、指定したキーが存在しない可能性があるためです。

4. 値の変更と追加方法

4. 値の変更と追加方法
4. 値の変更と追加方法

Dictionaryに新しいキーと値を追加したり、既存の値を変更したりするには以下のように書きます。


ages["三郎"] = 25     // 新しいキーを追加
ages["太郎"] = 21     // 既存の値を変更

このように、キーを指定して値を代入するだけで追加や更新ができます。

5. Dictionaryから値を削除する

5. Dictionaryから値を削除する
5. Dictionaryから値を削除する

キーごと値を削除したい場合は、次のように書きます。


ages.removeValue(forKey: "花子")

removeValue(forKey:)メソッドを使うと、指定したキーの値を削除できます。

6. Dictionaryをループ処理する方法

6. Dictionaryをループ処理する方法
6. Dictionaryをループ処理する方法

全てのキーと値を取り出して処理するには、for-inループを使います。


for (name, age) in ages {
    print("\(name)さんは\(age)歳です")
}

太郎さんは21歳です
次郎さんは22歳です
三郎さんは25歳です

このように、(キー, 値)のペアでループできます。配列のループとよく似ていますが、順番は保証されていません。

7. 空のDictionaryを作成する方法

7. 空のDictionaryを作成する方法
7. 空のDictionaryを作成する方法

最初は中身が空のDictionaryを用意して、あとから値を追加したい場合には次のように書きます。


var students: [String: String] = [:]
students["A001"] = "佐藤"
students["A002"] = "鈴木"

このように、[:]を使って空の連想配列を作ることができます。

8. Dictionaryで型安全を意識しよう

8. Dictionaryで型安全を意識しよう
8. Dictionaryで型安全を意識しよう

SwiftのDictionaryは型安全(type safety)を守ることで、プログラムの間違いを未然に防ぐ仕組みになっています。たとえば、次のように異なる型の値を混ぜることはできません。


// エラーになる例
// var data: [String: Any] = ["key1": "文字列", "key2": 123]

型安全とは、あらかじめ「このDictionaryは文字列のキーと、整数の値しか受け付けません」と決めておくことで、意図しない使い方を防ぐしくみです。

9. Dictionaryの存在確認:キーがあるかどうか

9. Dictionaryの存在確認:キーがあるかどうか
9. Dictionaryの存在確認:キーがあるかどうか

特定のキーが存在するかどうかを確認したいときには、次のようにif letnilチェックを使います。


if let age = ages["花子"] {
    print("花子さんは\(age)歳です")
} else {
    print("花子さんの情報は見つかりません")
}

花子さんの情報は見つかりません

このように、存在しないキーを使ったときにエラーにならないよう、安全に処理する方法も大切です。

10. Dictionaryを使った実用サンプル

10. Dictionaryを使った実用サンプル
10. Dictionaryを使った実用サンプル

最後に、簡単な出席簿アプリのようなサンプルを見てみましょう。


let attendance: [String: Bool] = [
    "佐藤": true,
    "鈴木": false,
    "田中": true
]

for (name, isPresent) in attendance {
    let status = isPresent ? "出席" : "欠席"
    print("\(name)さんは\(status)です")
}

佐藤さんは出席です
鈴木さんは欠席です
田中さんは出席です

このように、名前と出欠情報のようなデータを、連想配列でわかりやすく管理できます。

関連記事:
カテゴリの一覧へ
新着記事
Go言語の構造体でインターフェースを実装する方法を初心者向けにやさしく解説!
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
Go言語の文字列フォーマット!fmt.Sprintfで簡単に出力を整形する方法
Go言語のエラーと例外の違いを初心者向けに整理!わかりやすく解説
人気記事
No.1
Kotlin・Go・Swift記事の人気No1
Swiftのwhile文とrepeat while文を完全マスター!初心者にもわかる繰り返し処理の使い方と違い
No.2
Kotlin・Go・Swift記事の人気No2
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.3
Kotlin・Go・Swift記事の人気No3
Swift入門ガイド|基本構文と書き方をマスターしよう
No.4
Kotlin・Go・Swift記事の人気No4
Kotlinの正規表現(Regex)の使い方をやさしく解説!文字列操作の基本を初心者向けに学ぼう
No.5
Kotlin・Go・Swift記事の人気No5
Kotlinのwhen式を完全ガイド!初心者でもわかるパターンマッチング的な使い方
No.6
Kotlin・Go・Swift記事の人気No6
Kotlinで画面を作る!レイアウトXMLとビューの基本操作をやさしく解説
No.7
Kotlin・Go・Swift記事の人気No7
Kotlinのコンパニオンオブジェクトとは?初心者向けに使い方と役割をわかりやすく解説!
No.8
Kotlin・Go・Swift記事の人気No8
Swiftのオプショナル型とは?初心者でもわかる使い方とアンラップの基礎