A data structure that gives us the ability to insert, search, and optionally delete elements in a collection is called a data dictionary. Commonly, the type of data used is a key-value pair association, where we insert the key-value pair but search using a key to obtain the value.
Hash tables provide us with a fast data structure for organizing these key value pairs and implementing our data dictionary. They are useful in a wide variety of applications due to the quick lookup and ease of use for in-memory data storage. Insertion and search operations have a typical average runtime complexity of O(1).