Skip to main content

How HashMap internally works ?

This is repetedly asked in interview question. ....
How HashMap internally works ?
class Test{
int x;
Test(int x){
this.x=x;
}
public int hashCode(){
System.out.println("hashCode() Called");
return x;
}
public boolean equals(Object o){
System.out.println("equals(-) Called");
return this.x==((Test)o).x;
}
public String toString(){
return "Test("+x+")";
}
}
class HSDemo{
public static void main(String... arg){
HashSet<Test> hs=new HashSet<>();
Test t1=new Test(5);
System.out.println("Here hashCode called to chk wether there is a bucket with hashCode 5 or not");
hs.add(t1);
//here equals method not called because first hashCode is called bucket found
//den in that bucket comparison starts first compare on the basis of refrence
//With the help of == operator so in bucket only one element is there and second
//element is discarded due to same refrence equals not called
System.out.println("\nTrying to add objects with same refrence but Set doesnt allow");
hs.add(t1);
System.out.println(hs);
System.out.println();
//but here firs hashCode called buck found
//den == operator called to chk refrence wise duplicacy
//nd unfortunately refrence is diff so now equals will called
//to chk data wise duplicacy and data is same so this is also discarded
Test t2=new Test(5);
System.out.println("\nTrying to add objects with different refrence and same data but Set doesnt allow");
hs.add(t2);
System.out.println(hs);
}
}

Comments

Popular posts from this blog

Mockito interview Questions

1.       Question 1. What Is Mockito? Answer : Mockito allows creation of mock object for the purpose of Test Driven Development and Behavior Driven development. Unlike creating actual object, Mockito allows creation of fake object (external dependencies) which allows it to give consistent results to a given invocation. 2.       Question 2. Why Do We Need Mockito? What Are The Advantages? Answer : Mockito differentiates itself from the other testing framework by removing the expectation beforehand. So, by doing this, it reduces the coupling. Most of the testing framework works on the "expect-run-verify". Mockito allows it to make it "run-verify" framework. Mockito also provides annotation which allows to reduce the boilerplate code. 3.       Question 3. Can You Explain A Mockito Framework? Answer : In Mockito, you always check a particular class. The dependency in that class is injected using m...

REST Methods

GET ============================================= HTTP GET method is used to **read** (or retrieve) a representation of a resource. According to the design of the HTTP specification, GET requests are used only to read data and not change it. Therefore, when used this way, they are considered safe. That is, they can be called without risk of data modification or corruption. Means calling it once has the same effect as calling it 10 times. Additionally, GET is idempotent which means that making multiple identical requests ends up having the same result as a single request. Donot expose unsafe operations via GET. It should never modify any resources on the server. Example: ------------    GET http://www.example.com/customers/12345/orders POST =================================== -> The POST verb is most-often utilized to **create** new resources. In particular, it's used to create subordinate resources. -> That is, subordinate to some other (e.g. parent) reso...