HashMap vs LinkedHashMap In Java: In this article, we will discuss the difference between HashMap and LinkedHashMap classes in detail i.e.; HashMap vs LinkedHashMap
Lets us move on and discuss the key differences between these 2 Map implemented classes
HashMap vs LinkedHashMap
HashMap | LinkedHashMap |
Uses a hash table to store map entries (i.e.; key-value pairs) | Uses a combination of hash table + LinkedList to store map entries (i.e.; key-value pairs) |
Doesn’t maintain insertion order i.e.; while iterating through HashMap, we will get map entries in random order | Since it uses the doubly-linked list to store map entries (i.e.; key-value pairs), maintains insertion order |
This is introduced in the original collection framework in Java 1.2 version | This is introduced in Java 1.4 version |
When to use HashMap?
- HashMap stores key-value pairs which use a hashing technique to store key-value pairs
- So, the search operation is faster
- So, if the business requirement is to store key-value pairs for faster search operation or number of search operation on the basis of keys; without concerning insertion order
- Then, HashMap is the very apt choice
When to use LinkedHashMap?
- This is exactly the same as that of HashMap, but underlying data structure to hold key-value pairs is different
- It uses a doubly-linked list which allows holding key-value pairs as per insertion order
- So, if a business requirement is to store key-value pairs for faster search operation or number of search operation concerning/maintaining insertion order
- Then, LinkedHashSet is the very apt choice which maintains insertion order
- So while iterating through LinkedHashSet, we will get map entry (key-value pairs) as per insertion order (as against random in HashMap)
If you like SoftwareTestingo and would like to contribute something to this community, then you can also write an article using our Contact us page or mail your article to admin@softwaretestingo.com. So that we can review your article and that also appears on the SoftwareTestingo.com main page and help other Testers.
Please Improve this article, if you find anything incorrect by commenting on the comment box and we are happy to work on the article to maintain the accuracy and improvement.