a data structure that maps key to values for highly efficient lookup. implement simply by using a linked list and hashcode function.
a dictionary in which keys are mapped to array positions by a hash funtion
a table used for hashing, and is sorted in an array