Apart from the fact that
HashSet does not allow duplicate values, what is the difference between
I mean implementation wise? It"s a little bit vague because both use hash tables to store values.
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.