Definition: A collection of items that are randomly accessible by a key, often a string.
Note: Implementation: the access method must essentially search for a match. The simplest, but slowest, implementation is to do a linear search over the array for a match.
If that is too slow, and you access the array by number, too, you must create and maintain an index into the array. The index is a dictionary, organized by the content, of indexes into the array.