Distinguish, differentiate, compare and explain what is the difference between HashSet and TreeSet in Java.

Difference between HashSet and TreeSet in Java

1. In terms of ordering or sorting: HashSet doesn’t provide any ordering guarantee, whereas TreeSet provides ordering /sorting guarantee.

2. In terms of null element: HashSet allows one null element while TreeSet doesn’t allows null objects.

3. In terms of complementation: HashSet is internally implemented using Hash Map while TreeSet is internally implemented using TreeMap.

4. In terms of comparison and duplicate detection: HashSet uses equals() method for comparison. TreeSet uses compareTo() method for comparison

5. In terms of underlying data structure: HashSet is backed by hash table, whereas TreeSet is backed by Red-Black Tree.

6. In terms of performance: HashSet is faster while TreeSet is slower for most of the general purpose operation e.g. add, remove and search

About Author: Jeniffer Fleming