HashMap is a data-structure where data is organized as key and values pairs. i.e. for every value there must be a key to be produced to be stored into the hashmap.
I have already posted how to make objects immutable in one of my previous posts.
Keys are normally generated using hashcode() method.
Key’s hash code is used primarily in conjunction to its equals() method, for putting a key in map and then searching it back from map. So if hash code of key object changes after we have put a key-value pair in map, then its almost impossible to fetch the value object back from map. It is a case of memory leak. To avoid this, map keys should be immutable.I have already posted how to make objects immutable in one of my previous posts.