The descendingSet() method of java.util.TreeSet<E> class is used to return a reverse order view of the elements contained in this set. The descending set is backed by this set, so changes to the set are reflected in the descending set, and vice-versa. If either set is modified while an iteration over either set is in progress (except through the iterator’s own remove operation), the results of the iteration are undefined.
The returned set has an ordering equivalent to Collections.reverseOrder(comparator()). The expression s.descendingSet().descendingSet() returns a view of s essentially equivalent to s.
Syntax:
public NavigableSet descendingSet()
Return Value: This method returns a reverse order view of this set.
Below are the examples to illustrate the descendingSet() method
Example 1:
Java
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
TreeSet<String> treeadd = new TreeSet<String>();
treeadd.add( "A" );
treeadd.add( "B" );
treeadd.add( "C" );
treeadd.add( "D" );
System.out.println( "TreeSet: " + treeadd);
NavigableSet<String>
treereverse = treeadd.descendingSet();
Iterator<String> iterator = treereverse.iterator();
System.out.println( "\nValues using DescendingSet:" );
while (iterator.hasNext()) {
System.out.println( "Value : "
+ iterator.next());
}
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output: TreeSet: [A, B, C, D]
Values using DescendingSet:
Value : D
Value : C
Value : B
Value : A
Example 2:
Java
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
TreeSet<Integer> treeadd = new TreeSet<Integer>();
treeadd.add( 10 );
treeadd.add( 20 );
treeadd.add( 30 );
treeadd.add( 40 );
NavigableSet<Integer> treereverse = treeadd.descendingSet();
Iterator<Integer> iterator = treereverse.iterator();
System.out.println( "\nValues using DescendingSet:" );
while (iterator.hasNext()) {
System.out.println( "Value : " + iterator.next());
}
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output: Values using DescendingSet:
Value : 40
Value : 30
Value : 20
Value : 10