連想配列
出典: フリー百科事典『ウィキペディア(Wikipedia)』
連想配列(れんそうはいれつ)とは、コンピュータプログラミングにおいて、添え字にスカラー数値以外のデータ型(文字列型等)も使用できる配列である。抽象データ型のひとつ。連想リスト、連想コンテナ、辞書とも呼ばれる。
歴史的には、最初に LISP の連想リストとして広く認知された。その後、SNOBOL で table として、AWK で連想配列として実装したことで、その潜在能力がさらに広く知られるようになった。現在、Ruby など一部の言語では、添え字にはどのようなデータでも使えるものもある。
目次 |
[編集] データ構造
連想配列の実装に使われるデータ構造としては、主に平衡2分探索木(赤黒木やAVL木など)やハッシュテーブルがある。ほかにはB木や連想リストなどが利用されることもある。
[編集] 連想配列を標準で提供する主な言語
- AWK
- C++ — 標準ライブラリのクラス
std::mapで提供(ハッシュではなく、二分木による実装。ライブラリによってはハッシュを使ったstd::hash_mapを提供するものもある。次期標準である {{lang|en|C++11} では、std::unordered_mapとして標準化される。) - D言語
- ECMAScript (JavaScript) - すべてのオブジェクトが、文字列が添え字の連想配列として扱われる
- Icon
- Java — Java Platform, Standard Edition標準パッケージの
、Map、HashMap、TreeMap、LinkedHashMapで提供。その他 Apache Commons Collections などでも提供。Hashtable - LISP — キーとデータで構成された cons セル[1]のリストを連想配列として(
car部をキーにcdr部をデータ、またはその逆)として使う関数(assoc、rassoc)が提供されている。 - Lua
- .NET Framework -
System.Collections.Hashtable、System.Collections.Specialized.ListDictionary、System.Collections.Specialized.HybridDictionary、System.Collections.Generic.Dictionary</code. にて提供。(ただしDictionaryは CLR 2.0 以降) - SNOBOL
- PL/SQL — 結合配列 (Oracle Database 9i 以降)
- PHP - 配列と連想配列の区別がない
- Python — 「辞書型 (dictionary)」という名前で呼ばれる
- Perl —
%で始まる変数が連想配列 - REXX
- Ruby — 組み込みのクラス
Hashで提供 - Smalltalk
- Visual Basic
- Visual Basic for Applications
[編集] 脚注
[編集] 関連項目
|
||||||||||||||||||||||||||||||||||||||||||||||