Internal Working of HashMap in Java. Does it really maintain an O(1) time complexity? What is the Difference between TreeMap, HashMap, LinkedHashMap, and HashTable?

Prateek Nima
4 min readJan 6, 2023
Photo by Jefferson Santos on Unsplash

HashMap is one of the most popular collections frameworks in Java. Whenever someone asks us about the internal working of HashMap, we simply know the answer as it works on the hashing mechanism. Today we are going to go through the in-depth functioning of HashMap. In its simplest form, HashMap is a way to assign a unique code for any object after applying a formula and offers an O(1) insertion and retrieval time.

So how does HashMap internally work?

HashMap uses HashTable implementation internally and consists of two important data structures which are LinkedList and Array. There is a bucket of arrays with each element representing an individual LinkedList. The Inner Node class consists of a hash value, key, value, and the link to the next Node as seen below.

Internal Node Structure

Now, the question arises, how does HashMap know where to store the value in a bucket?

--

--