In this post, we will see the difference between HashSet and HashMap in Java. First, we will see HashSet vs HashMap in brief later we will see each point in details.
HashSet | HashMap |
---|---|
1.HashSet class implements Set interface and extends AbstractSet class. | 1.HashMap class implements Map interface and extends AbstractMap class |
2.HashSet allows only values.It has add() method to add the elements. | 2.HashMap allows key and value pair.It has put() method to add the element. |
3.HashSet doesn't allow duplicate value. | 3.HashMap doesn't allows duplicate key but value can be duplicate. |
4.HashSet related to collection interface i.e HashSet implements Set interface and further Set interface extends Collection interface. | 4.But HashMap implements Map interface and map doesn't related to Collection interface. |
5.HashSet internally uses HashMap only. | 5.HashMap uses Entry inner class(which is defined within HashMap class). |
Let’s see all points in details.
HashSet class implements Set interface and extends AbstractSet class whereas HashMap class implements Map interface and extends AbstractMap class.
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable { }
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { }
HashSet allows only values. It has add() method to add the elements, HashMap allows key and value pair. It has put() method to add the element.
Example of HashSet –
import java.util.HashSet; import java.util.Set; public class HashSetExample { public static void main(String[] args) { Set<String> setObject = new HashSet<>(); setObject.add("ram"); setObject.add("mohan"); setObject.add("shyam"); setObject.add("mohan"); // duplicates are not allowed but it will not give // any compilation error setObject.add("ram"); System.out.println("set object -- " + setObject); } }
Output is – set object — [shyam, mohan, ram]
Example of HashMap –
package treemapexp; import java.util.HashMap; import java.util.Iterator; import java.util.Map; class HashMapExample { public static void main(String[] arg) { Map<Integer, String> hashmapObject = new HashMap<>(); hashmapObject.put(2, "ram"); hashmapObject.put(3, "mohan"); hashmapObject.put(4, "Bangalore"); hashmapObject.put(5, "Rakesh"); // we will iterate using Iterator Iterator<Map.Entry<Integer, String>> iterator = hashmapObject .entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<Integer, String> entry = iterator.next(); System.out.println("Key is = " + entry.getKey() + ", Value is = " + entry.getValue()); } } }
Output is –
Key is = 2, Value is = ram
Key is = 3, Value is = mohan
Key is = 4, Value is = Bangalore
Key is = 5, Value is = Rakesh
You may like.
- Difference between Iterator and ListIterator in Java.
- Difference between Iteration and Enumeration in java.
- Difference between HashSet and TreeSet in java.
- Difference between List and Set in Java.
- Difference between ArrayList and LinkedList in java.
- ArrayList vs Vector in java.
- How to make List, Set and Map Read Only in Java.
- How to avoid duplicate elements in ArrayList.
- Adding Custom type class object in ArrayList.
- How to Synchronize ArrayList in Java.
- Difference between Arrays and Collections.
- Difference between String and StringBuffer in java.
- Sort HashMap by value in java.
- Sort HashMap by key in java.
- How HashMap works internally in Java.
- How HashSet works internally in java.
- How ArrayList works internally in Java.
- String compareTo() method in java.
- String Constant Pool In Java with Example.