📘 Dictionary(辞書型)とは?

Dictionary は、キーと値のペアでデータを管理するSwiftのコレクション型です。連想配列として使われ、キーを指定して高速に値を取得・更新できます。


🔰 基本構文

// 型推論あり
var user: [String: String] = [
  "name": "さくら",
  "city": "東京"
]

// 型明示あり
var scores: Dictionary<String, Int> = [
  "Math": 80,
  "English": 90
]

Swiftでは、[キーの型: 値の型] で辞書を定義します。キーはユニークで、値は任意の型を指定できます。

Dictionary | String | Int

🔎 要素の取得・更新・削除

// 値の取得
print(user["name"] ?? "不明") // さくら

// 値の更新
user["city"] = "大阪"

// 新しい要素の追加
user["age"] = "20"

// 要素の削除
user.removeValue(forKey: "name")

辞書の要素は、キーを指定して簡単に取得・更新・削除できます。値が存在しない場合は nil が返るので、?? でデフォルト値を設定できます。

Dictionary | String

🔁 ループ処理

for (key, value) in user {
  print("\(key): \(value)")
}

keysvalues プロパティを使ってキーや値だけを取り出すこともできます。

Dictionary | String

🔑 キーと値の取得

for key in user.keys {
  print("キー: \(key)")
}

for value in user.values {
  print("値: \(value)")
}

辞書のキーや値を個別に取得することも可能です。keysvalues プロパティを使います。

Dictionary | String

📌 よく使う操作

これらのメソッドを使うことで、辞書の操作がより便利になります。

Dictionary

🔗 辞書のマージ

// 辞書のマージ
let a = ["A": 1, "B": 2]
let b = ["B": 3, "C": 4]
let merged = a.merging(b) { (_, new) in new }
print(merged) // ["A": 1, "B": 3, "C": 4]

辞書同士をマージする際、キーが重複した場合の値の扱いを指定できます。上記の例では、重複したキーは新しい値で上書きされます。

Dictionary

🧠 Dictionaryの使いどころ

📎 関連トピック

🔗 参考リンク