辞書型【dictionary type】ディクショナリー型
概要

配列やリストでは、データを先頭からの通し番号(インデックス)で管理するため、目的のデータを取り出すには番号を指定する必要がある。これに対して辞書型では、番号の代わりに任意の文字列や数値をキーとして指定できる。人間が読んでも意味を理解しやすい形でデータを整理でき、複数の項目を一つにまとめて扱う際によく用いられる。
辞書型では、それぞれの値に固有のキーを対応付けて格納する。例えば、社員番号をキー、社員名を値とすれば、社員番号を指定するだけで対応する社員名を取り出せる。既存のキーに新しい値を代入すると値が更新される。多くの言語では一つのキーに対して一つの値だけを保持する仕組みになっているが、値として配列や別の辞書型の値などのデータ構造を格納できる場合もある。
辞書型のデータ構造の内部では、キーから値を高速に取り出す仕組みとして「ハッシュ表」(hash table)が用いられることが多い。キーを一定の計算式(ハッシュ関数)で変換し、その結果を基に格納場所を決定する方式で、データ件数が増えても検索速度が低下しにくい性質を持つ。言語や処理系によっては、キーを一定の順序で保持するために平衡木などのデータ構造を用いる場合もある。
辞書型は主要なプログラミング言語に標準で組み込まれている。Pythonでは波括弧「{ }」を用いてキーと値をコロンで区切って記述する。JavaScriptには辞書型という名称のデータ型は存在しないが、「オブジェクト」(object)と呼ばれる仕組みが同様の役割を果たす。言語によっては辞書型と同様のデータ型やデータ構造を「ハッシュ」(hash)、「マップ」(map)、「連想配列」(associative array)、「連想リスト」(associative list)など別の名称で呼ぶ場合がある。