在计算机科学中,关联数组(英语:Associative Array),又称映射(Map)、字典(Dictionary)是一个抽象的数据结构,它包含着类似于(键,值)的有序对。一个关联数组中的有序对可以重复(如C++中的multimap)也可以不重复(如C++中的map)。
这种数据结构包含以下几种常见的操作:
字典问题是设计一种能够具备关联数组特性的数据结构。解决字典问题的常用方法,是利用散列表,但有些情况下,也可以直接使用二叉查找树或其他结构。
许多程序设计语言内置基本的数据类型,提供对关联数组的支持。而内容定址存储器(英语:Content-addressable memory)则是硬件层面上实现对关联数组的支持。
关联数组的内置语法上的支持是在1969年由SNOBOL4最早介入的,当时名字叫做“表格”。TMG提供带有字符串键和整数值的表格。MUMPS将多维关联数组作为它的关键数据结构,带有可选的持久性。SETL支持它们作为集合和映射的一种可能实现。
STL 提供了 8 个关联数组容器模板:
C++/CLI 中另有 .Net 所提供的托管实现,见下。