By going through this Java Tutorial, you can learn all about the SortedSet interface in Java with Example. In fact, it includes entire information on how to use java SortedSet and what are the methods of sortedset interface, etc. Moreover, you can also gain knowledge on java sorted set implementation using TreeSet.
This Tutorial of Java SortedSet Contains:
- Java SortedSet Interface | Interface java.util.SortedSet
- Class that implements SortedSet
- How to use SortedSet?
- Implementation of SortedSet in TreeSet Class
- Creating TreeSet SortedSet Implementation with Comparator
- Methods of Java SortedSet interface
- Java SortedSet Example
Java SortedSet Interface
SoretedSet in Java is an interface that is present in java.util package. It is a part of the collection framework in Java. The SortedSet interface extends the Set interface.
SortedSet doesn’t allow you to store duplicate elements. If you want to represent a group of individual objects according to some sorting order where duplicate elements are not allowed, then we should go for SortedSet in Java. All the elements which we want to insert in SortedSet must implement the Comparable interface.
Do Check:
- Class and Object in Java with Example
- HashSet class in Java with Example
- TreeMap in Java with Example
Class that implements SortedSet
To make use of the SortedSet Interface Functionalities, we must use the TreeSet Class. Hence, the Class that implements SortedSet in Java is TreeSet.
How to use SortedSet?
To use SortedSet, first, we have to import the java.util.SortedSet package.
// SortedSet implementation by TreeSet class SortedSet<String> animals = new TreeSet<>();
In the above syntax, we have taken the animals sorted set using the TreeSet Class. And here we have used no arguments to create a sorted set. So the set will be sorted directly.
Implementation of SortedSet in TreeSet Class
import java.util.SortedSet; import java.util.TreeSet; class Main { public static void main(String[] args) { // Creating SortedSet using the TreeSet SortedSet<Integer> numbers = new TreeSet<>(); // Insert elements to the set numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); System.out.println("SortedSet: " + numbers); // Access the element int firstNumber = numbers.first(); System.out.println("First Number: " + firstNumber); int lastNumber = numbers.last(); System.out.println("Last Number: " + lastNumber); // Remove elements boolean result = numbers.remove(2); System.out.println("Is the number 2 removed? " + result); } }
Output:
SortedSet: [1, 2, 3, 4] First Number: 1 Last Number: 4 Is the number 2 removed? true
Now that we know about the SortedSet interface, we will learn about its implementation using the TreeSet class.
Creating TreeSet SortedSet Implementation with Comparator
Actually, this comparator decides the ordering of the elements in the TreeSet. By java.util.Comparator implementation to the constructor of the TreeSet, it is possible to pass a Comparator. Below, we have provided how to create a java SortedSet with a Comparator using TreeSet
Comparator comparator = new MyComparatorImpl(); SortedSet sortedSet = new TreeSet(comparator);
Methods of SortedSet interface in Java
Java SortedSet defines 6 important methods that make the set processing more convenient. These are described below:
1. Element first(): This method is used to return the first element in the invoking sorted set.
2. Element last(): This method is used to return the last element in the invoking sorted set.
3. SortedSet headSet(E toElement): This method returns the SortedSet whose element is less than toElement.
4. SortedSet tailSet(E fromElement): This method returns the SortedSet whose elements are greater than or equal to fromElement.
5. SortedSet subSet(E fromElement, E toElement): This method returns the SortedSet whose elements range from fromElement inclusive to toElement exclusive.
6. Comparator<? super E> comparator(): This method returns the sorted set comparator and it returns null if the natural ordering is used for this set.
Java SortedSet Example:
import java.util.SortedSet; import java.util.TreeSet; class sortedSetExample { public static void main(String args[]) { SortedSet sset = new TreeSet(); sset.add("Javastudypoint"); sset.add("Programming"); sset.add("Coding"); sset.add("Developer"); sset.add("Tester"); sset.add("Website"); //displaying sorted set System.out.println("Sorted Set is: " +sset); //displaying first elemnt of sorted set System.out.println("The first element of the sorted set is: " +sset.first()); //displaying last element of sorted set System.out.println("The last element is given as: " +sset.last()); //returns the SortedSet whose element is less than toElement. System.out.println("The respective element of the sorted set is: " +sset.headSet("Tester")); //returns the SortedSet whose elements are greater than or equal to fromElement. System.out.println("The respective element of the sorted set is: " +sset.tailSet("Programming")); //returns the SortedSet whose elements range from fromElement inclusive to toElement exclusive. System.out.println("The respective element of the sorted set is: " +sset.subSet("Programming","Website")); } }
Output:
Sorted Set is: [Coding, Developer, Javastudypoint, Programming, Tester, Website] The first element of the sorted set is: Coding The last element is: Website The respective elements of the sorted set are: [Coding, Developer, Javastudypoint, Programming] The respective elements of the sorted set are: [Programming, Tester, Website] The respective elements of the sorted set are: [Programming, Tester]