Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Difference between HashMap and HashSet in Java.
HashMap and HashSet both are one of the most important classes of Java Collection framework.
Following are the important differences between HashMap and HashSet.
| Sr. No. | Key | HashMap | HashSet |
|---|---|---|---|
| 1 | Implementation | Hashmap is the implementation of Map interface. | Hashset on other hand is the implementation of set interface. |
| 2 | Internal implementation | Hashmap internally do not implements hashset or any set for its implementation. | Hashset internally uses Hashmap for its implementation. |
| 3 | Storage of elements | HashMap Stores elements in form of key-value pair i.e each element has its corresponding key which is required for its retrieval during iteration. | HashSet stores only objects no such key value pairs maintained. |
| 4 | Method to add element | Put method of hash map is used to add element in hashmap. | On other hand add method of hashset is used to add element in hashset. |
| 5 | Index performance | Hashmap due to its unique key is faster in retrieval of element during its iteration. | HashSet is completely based on object so compared to hashmap is slower. |
| 6 | Null Allowed | Single null key and any number of null value can be inserted in hashmap without any restriction. | On other hand Hashset allows only one null value in its collection,after which no null value is allowed to be added. |
Example of Hashmap vs Hashset
JavaTester.java
<span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span class="typ">HashSet</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">JavaTester</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">){</span><span class="pln">
</span><span class="typ">HashSet</span><span class="pun"><</span><span class="typ">String</span><span class="pun">></span><span class="pln"> hs </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">HashSet</span><span class="pun"><</span><span class="typ">String</span><span class="pun">>();</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="str">"John"</span><span class="pun">);</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="str">"Smith"</span><span class="pun">);</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="str">"Peter"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Before adding duplicate values \n\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> hs</span><span class="pun">);</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="str">"John"</span><span class="pun">);</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="str">"Smith"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\nAfter adding duplicate values \n\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> hs</span><span class="pun">);</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
hs</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="kwd">null</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\nAfter adding null values \n\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> hs</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span>
Output
Before adding duplicate values [John, Smith, Peter] After adding duplicate values [John, Smith, Peter] After adding null values [null, John, Smith, Peter]
Example
JavaTester.java
<span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span class="typ">HashMap</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">JavaTester</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">){</span><span class="pln">
</span><span class="typ">HashMap</span><span class="pun"><</span><span class="typ">Integer</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">></span><span class="pln"> hm </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun"><</span><span class="typ">Integer</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">>();</span><span class="pln">
hm</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="lit">12</span><span class="pun">,</span><span class="pln"> </span><span class="str">"John"</span><span class="pun">);</span><span class="pln">
hm</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Smith"</span><span class="pun">);</span><span class="pln">
hm</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="lit">7</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Peter"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\nHashMap object output :\n\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> hm</span><span class="pun">);</span><span class="pln">
hm</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="lit">12</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Smith"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"\nAfter inserting duplicate key :\n\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> hm</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span>
Output
HashMap object output :
{2=Smith, 7=Peter, 12=John}
After inserting duplicate key :
{2=Smith, 7=Peter, 12=John} Advertisements
