Difference Between TreeSet and SortedSet in Java
TreeSet is one of the implementations of the Navigable sub-interface. It is underlying data structure is a red-black tree. The elements are stored in ascending order and more methods are available in TreeSet compare to SortedSet. We can also change the sorting parameter using a Comparator. For example, Comparator provided at set creation time, depending on which constructor is used.
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.
Geeks for Geeks Welcome to
The SortedSet is a sub-interface, which is available in java.util.package which extends the Set interface. This interface contains the methods inherited from the Set interface. For example, headSet, tailSet, subSet, Comparator, first, last, and many more.
[Bobby, Devi2, Gnanesh, Ojaswi, Rohith, Sravan] Iterating over set: Bobby Devi2 Gnanesh Rohith Sravan
Now after having adequate understanding and internal working of both TreeSet and SortedSet, now let us see the differences between TreeSet and SortedSet which is as depicted from the table provided below as follows: TreeSet SortedSet Syntax: TreeSet<Datatype> treeset = new TreeSet<>(); Syntax: It can not be instantiated as it is a sub-Interface.
Basis Classification Class of NavigableSet sub-interface. Sub-Interface Insertion Order TreeSet maintains an object in sorted order. SortedSet maintains an object in sorted order. Initialization Methods Contains more methods than SortedSet. Contains fewer methods than TreeSet. Example contains all the methods of SortSet. In addition methods like ceiling(), floor(), higher(), lower() and e.t.c contains methods like add(), addAll(), iterator(), retainAll() and e.t.c
TreeSet<Datatype> treeset = new TreeSet<>();
It can not be instantiated as it is a sub-Interface.
Conclusion: Basically in simple words let’s assume this way, TreeSet is a class of NavigableSet which contains all of the methods for better traversing and searching for values. SortedSet is a sub-set of NavigableSet in terms of methods compare to TreeSet(NavigableSet)