Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
辞書の基本 / 辞書.keys / 辞書.values
Swiftの辞書(Dictionary)は、キーと値のペアを格納するコレクションです。キーは一意であり、順序は保証されません。
構文
// 辞書の宣言と初期化 var dict: [String: Int] = ["apple": 100, "banana": 200] var emptyDict = [String: Int]() // 空の辞書 var emptyDict2: [String: Int] = [:] // 空の辞書(別記法) // 要素へのアクセス(Optional を返す) let value = dict["apple"] // Optional(100) // キー・値の一覧 let keys = dict.keys // Keys ビュー let values = dict.values // Values ビュー
プロパティ・メソッド一覧
| プロパティ / メソッド | 概要 |
|---|---|
| 辞書[key] | 指定したキーに対応する値を Optional で返します。 |
| 辞書.count | 辞書のペア数を返します。 |
| 辞書.isEmpty | 辞書が空かどうかを Bool で返します。 |
| 辞書.keys | 辞書の全キーを返します。 |
| 辞書.values | 辞書の全値を返します。 |
| 辞書[key] = value | キーに値を設定します。nil を代入するとキーを削除します。 |
サンプルコード
// 辞書の作成と基本操作
var prices: [String: Int] = ["apple": 100, "banana": 200, "cherry": 300]
// 値の取得(Optional)
if let price = prices["apple"] {
print("りんごの値段: \(price)円")
}
// キーが存在しない場合はデフォルト値を使用
let grapePrice = prices["grape", default: 0]
print("ぶどうの値段: \(grapePrice)円")
// 値の追加・更新
prices["grape"] = 400
prices["apple"] = 120
// キー・値の列挙
for (fruit, price) in prices {
print("\(fruit): \(price)円")
}
// キーの一覧をソートして表示
let sortedKeys = prices.keys.sorted()
print("キー一覧: \(sortedKeys)")
// 辞書の情報
print("要素数: \(prices.count)")
print("空かどうか: \(prices.isEmpty)")
// キーの存在確認
if prices.keys.contains("banana") {
print("banana は存在します")
}
概要
Swiftの辞書は『[Key: Value]』という型で宣言します。辞書の要素へのアクセスは Optional を返すため、存在しないキーにアクセスしても安全です。
デフォルト値を使った添字アクセス(『辞書[key, default: 値]』)を使うと、キーが存在しない場合でも安全に値を取得できます。辞書はキーの順序を保証しないため、for-in でのイテレーション順序は毎回異なる場合があります。
辞書の更新・削除については辞書.updateValue() / 辞書の削除 / mapValues()を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。