El método subSet() de la interfaz SortedSet en Java se utiliza para devolver una vista de la parte de este conjunto cuyos elementos van desde fromElement, inclusive, hasta toElement, exclusivo.
- El conjunto devuelto por este método está respaldado por este conjunto, por lo que los cambios en el conjunto devuelto se reflejan en este conjunto y viceversa.
- El conjunto devuelto por este método admite todas las operaciones de conjunto opcionales que admite este conjunto.
Nota : el conjunto devuelto por este método arrojará una IllegalArgumentException si se intenta insertar un elemento fuera de su rango.
Sintaxis :
SortedSet subSet(E fromElement, E toElement)
Donde, E es el tipo de elemento que mantiene este Conjunto.
Parámetros : esta función acepta dos parámetros fromElement y toElement que representan el punto final inferior ( incluido ) y el punto final superior ( exclusivo ) del conjunto devuelto.
Valor devuelto : Devuelve los elementos que en el rango entre fromElement y toElement pasaron como argumento.
Excepciones :
- ClassCastException : lanza una ClassCastException si fromElement no es compatible con el comparador de este conjunto (o, si el conjunto no tiene comparador, si fromElement no implementa Comparable).
- NullPointerException : lanza una NullPointerException si el parámetro fromElement es nulo.
- IllegalArgumentException : lanza una IllegalArgumentException, este conjunto en sí tiene un rango restringido y el parámetro fromElement se encuentra fuera de los límites del rango.
Los siguientes programas ilustran el método anterior:
Programa 1 :
// 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)); } }
Elements range between 2 and 9 in set are : [2, 3, 5]
Programa 2 :
// 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")); } }
Elements between C and G in set is : [Code, For]
Referencia : https://docs.oracle.com/javase/10/docs/api/java/util/SortedSet.html#subSet(E)