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

I mean implementation wise? It's a little bit vague because both use *hash tables* to store values.

0 votes

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.