What is difference between HashMap and HashSet in Java

HashMap and HashSet are part of collection framework

Let's check first

What is HashSet in Java?

HashSet is implementation of Set Interface which is not allow duplicate value. By default all methods in Collection Framework are also in Set Interface. Objects which are going to be stored in HashSet must override equals() and hashCode() method so that we can check for equality and no duplicate value are stored in our set. If we have created our own objects we need to implement hashCode() and equal() in such a manner that will be able to compare objects correctly when storing in a set so that duplicate objects are not stored, if we have not override this method objects will take default implementation of this method.

public boolean add(Object o)  Method is used to add an element in a set which returns false if it’s a duplicate value in case of  HashSet otherwise returns true if added successfully.

 

What is HashMap?

HashMap is an implementation of Map Interface, which maps a key to value. Duplicate keys are not allowed in a map. Basically map Interface has two implementation classes HashMap and TreeMap. Main difference is TreeMap maintains order of the objects but HashMap will not. HashMap allows null values and null keys.HashMap is not synchronized,but collection framework provide methods so that we can make them synchronized if multiple threads are going to access our hashmap and one thread structurally changes our map.

public Object put(Object Key,Object value) method is used to add an element in the map

 

Difference between HashMap and HashSet 

HashMap Hash Set
HashMap  is an implementation of Map interface HashSet is an implementation of Set Interface
HashMap Stores data in form of  key-value pair HashSet Store only objects
Put method is used to add element in map Add method is used to add element is Set
In hash map hashcode value is calculated using key object Here member object is used for calculating hashcode value which can be same for two objects so equal () method is used to check for equality if it returns false that means two objects are different
HashMap is faster than HashSet because unique key is used to access object HashSet is slower than Hashmap