連想配列 【associative array】

概要

連想配列(associative array)とは、プログラミング言語などに用意されたデータ構造の一種で、文字列など非負整数以外のデータ添字に使用することができる配列のこと。

配列array)は多くのプログラミング言語に用意されている基本的なデータ構造の一つで、単純に複数のデータを一列に並べたものである。コード中で配列は配列名で参照され、配列内の各要素は添字インデックス)によって識別される。

通常の配列添字に0または1から始まる整数(非負整数)の通し番号を用いるが、連想配列では添字文字列など非負整数に限らず任意のデータを設定することができる。連想配列における添字のことは「キー」(key)と呼ぶことが多い。

キーは一対一に対応付けられて格納され、キーを指定することで取り出すことができる。格納するとして単独のスカラ)だけでなく配列などのデータ構造を格納したり、別の連想配列を入れ子状に格納することができる言語もある。

例えば、通常の配列では x[0]="日曜" のように記述していたものを、連想配列では x["Sunday"]="日曜" のように記述することができ、要素を番号で管理する場合に比べコードの見通しが良くなることがある。ただし、単純な配列に比べ要素の追加や取り出しが遅く、処理効率や性能では劣るため、用途に応じて通常の配列と使い分ける必要がある。

言語によっては同様のデータ構造を「辞書」あるいは「ディクショナリ」(dictionary)、「ハッシュ」(hash)、「マップ」(map)、「連想リスト」(associative list)などと呼ぶこともある。また、PHPのように添字が整数の配列も連想配列の一種として扱われる言語や、JavaScriptのようにオブジェクトが連想配列の一種として定義される言語もある。

なお、文字列キーと任意のを一対一に対応付けて格納するという構造はデータベースの一種である「KVS」(Key-Value Storeキーバリューストア)と同様であり、連想配列が実装された言語はデータの永続的な保存手段としてKVSとの相性が良い。

(2024.2.14更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる