javacollectionshashmaphashset

Difference between HashSet and HashMap?


Apart from the fact that HashSet does not allow duplicate values, what is the difference between HashMap and HashSet in their implementation?

It's a little bit vague because both use hash tables to store values.


Solution

  • They are entirely different constructs. A HashMap is an implementation of Map. A Map maps keys to values. The key look up occurs using the hash.

    On the other hand, a HashSet is an implementation of Set. A Set is designed to match the mathematical model of a set. A HashSet does use a HashMap to back its implementation, as you noted. However, it implements an entirely different interface.

    When you are looking for what will be the best Collection for your purposes, this Tutorial is a good starting place. If you truly want to know what's going on, there's a book for that, too.