A data structure that maps keys to values, similar to hash tables but with additional functionality and constraints.