Consider the following code:
import java.util.*; class Employee { String name; public Employee(String nm) { this.name=nm; } } public class HashMapKeyNullValue { Employee e1; public void display(){ Employee e2=null; Map map=new HashMap(); map.put(e2, "25"); System.out.println("Getting the Value When e2 is set as KEY"); System.out.println("e2 : "+map.get(e2)); System.out.println("e1 : "+map.get(e1)); System.out.println("null : "+map.get(null)); map.put(e1, ""); System.out.println("Getting the Value when e1 is set as KEY"); System.out.println("e2 : "+map.get(e2)); System.out.println("e1 : "+map.get(e1)); System.out.println("null : "+map.get(null)); map.put(null, null);
Program Output:
Getting the Value When e2 is set as KEY e2 : 25 e1 : 25 null : 25 Getting the Value when e1 is set as KEY e2 : e1 : null : Getting the Value when setting null as KEY and null as value e2 : null e1 : null null : null Getting the Value when setting only null as KEY e2 : 30 e1 : 30 null : 30
Here e1, e2, and null as keys are related to each other. Are all three assigned to the same hash code? If yes, why?
Since all three seem different, changing one value changes another. Does this mean that only one entry for the key is made in the HashMap or e1, e2, or null beacause, for all processed as the same key.
Nizam source share