SortedSet subSet() method in Java

The subSet() method of SortedSet interface in Java is used to return a view of the portion of this set whose elements range from fromElement, inclusive, to toElement, exclusive.

  • The set returned by this method is backed by this set, so changes in the returned set are reflected in this set, and vice-versa.
  • The set returned by this method supports all optional set operations that this set supports.

Note: The set returned by this method will throw an IllegalArgumentException if an attempt is made to insert an element outside its range.

Syntax:

SortedSet subSet(E fromElement,
                    E toElement)

Where, E is the type of element maintained by this Set.

Parameters: This function accepts two parameters fromElement and toElement which represent the low endpoint (inclusive) and high endpoint (exclusive) of the returned set.

Return Value: It returns the elements which in range between fromElement and toElement passed as argument.

Exceptions:

  • ClassCastException : It throws a ClassCastException if fromElement is not compatible with this set’s comparator (or, if the set has no comparator, if fromElement does not implement Comparable).
  • NullPointerException : It throws a NullPointerException if the parameter fromElement is null.
  • IllegalArgumentException : It throws an IllegalArgumentException this set itself has a restricted range, and the parameter fromElement lies outside the bounds of the range.

Below programs illustrate the above method:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// A Java program to demonstrate
// working of SortedSet
import java.util.SortedSet;
import java.util.TreeSet;
  
public class Main {
    public static void main(String[] args)
    {
        // Create a TreeSet and inserting elements
        SortedSet<Integer> s = new TreeSet<>();
  
        // Adding Element to SortedSet
        s.add(1);
        s.add(5);
        s.add(2);
        s.add(3);
        s.add(9);
  
        // Returning the set with elements
        // ranging between the passed value
        System.out.print("Elements range between 2 and 9 in set are : "
                         + s.subSet(2, 9));
    }
}

chevron_right


Output:

Elements range between 2 and 9 in set are : [2, 3, 5]

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// A Java program to demonstrate
// working of SortedSet
import java.util.SortedSet;
import java.util.TreeSet;
  
public class Main {
    public static void main(String[] args)
    {
        // Create a TreeSet and inserting elements
        SortedSet<String> s = new TreeSet<>();
  
        // Adding Element to SortedSet
        s.add("Geeks");
        s.add("For");
        s.add("Geeks");
        s.add("Code");
        s.add("It");
  
        // Returning the set with elements
        // ranging between the passed value
        System.out.print("Elements between C and G in set is : "
                         + s.subSet("C", "G"));
    }
}

chevron_right


Output:

Elements between C and G in set is : [Code, For]

Reference: https://docs.oracle.com/javase/10/docs/api/java/util/SortedSet.html#subSet(E)



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.