Java TreeSet descendingSet() Method



Description

The Java TreeSet descendingSet() method 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 also reflected in the descending set and reverse.

Declaration

Following is the declaration for java.util.TreeSet.descendingSet() method.

public NavigableSet<E> descendingSet()

Parameters

NA

Return Value

The method call returns a reverse order view of this set.

Exception

NA

Getting Descending TreeSet of a TreeSet of Integer Example

The following example shows the usage of Java TreeSet descendingSet() method to get a set from this set having elements in descending order. We've created two TreeSet objects of Integer. Then few entries are added using add() method to one set. Using descendingIterator(), we've received an iterator and iterated trough its value.

package com.tutorialspoint;

import java.util.TreeSet;

public class TreeSetDemo {
   public static void main(String[] args) {

      // creating a TreeSet 
      TreeSet<Integer> treeadd = new TreeSet<>();
      TreeSet<Integer> treereverse = new TreeSet<>();

      // adding in the tree set
      treeadd.add(1);
      treeadd.add(13);
      treeadd.add(17);
      treeadd.add(2);

      // creating reverse set
      treereverse = (TreeSet)treeadd.descendingSet();

      // displaying the Tree set data
      System.out.println("Tree set data in reverse order: " + treereverse);
   }    
}

Output

Let us compile and run the above program, this will produce the following result.

Tree set data in reverse order: [17, 13, 2, 1]

Getting Descending TreeSet of a TreeSet of String Example

The following example shows the usage of Java TreeSet descendingSet() method to get a set from this set having elements in descending order. We've created two TreeSet objects of String. Then few entries are added using add() method to one set. Using descendingIterator(), we've received an iterator and iterated trough its value.

package com.tutorialspoint;

import java.util.TreeSet;

public class TreeSetDemo {
   public static void main(String[] args) {

      // creating a TreeSet 
      TreeSet<String> treeadd = new TreeSet<>();
      TreeSet<String> treereverse = new TreeSet<>();

      // adding in the tree set
      treeadd.add("A");
      treeadd.add("B");
      treeadd.add("C");
      treeadd.add("D");

      // creating reverse set
      treereverse = (TreeSet)treeadd.descendingSet();

      // displaying the Tree set data
      System.out.println("Tree set data in reverse order: " + treereverse);
   }    
}

Output

Let us compile and run the above program, this will produce the following result.

Tree set data in reverse order: [D, C, B, A]

Getting Descending TreeSet of a TreeSet of Object Example

The following example shows the usage of Java TreeSet descendingSet() method to get a set from this set having elements in descending order. We've created two TreeSet objects of String. Then few entries are added using add() method to one set. Using descendingIterator(), we've received an iterator and iterated trough its value.

package com.tutorialspoint;

import java.util.TreeSet;

public class TreeSetDemo {
   public static void main(String[] args) {

      // creating a TreeSet 
      TreeSet<Student> treeadd = new TreeSet<>();
      TreeSet<Student> treereverse = new TreeSet<>();

      // adding in the tree set
      treeadd.add(new Student(1, "Robert"));
      treeadd.add(new Student(2, "Julie"));
      treeadd.add(new Student(3, "Adam"));
      treeadd.add(new Student(4, "Julia"));
      // creating reverse set
      treereverse = (TreeSet)treeadd.descendingSet();

      // displaying the Tree set data
      System.out.println("Tree set data in reverse order: " + treereverse);
   }    
}
class Student implements Comparable<Student> {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }

   @Override
   public int compareTo(Student student) {
      return this.rollNo - student.rollNo;
   }
}

Output

Let us compile and run the above program, this will produce the following result.

Tree set data in reverse order: [[ 4, Julia ], [ 3, Adam ], [ 2, Julie ], [ 1, Robert ]]
java_util_treeset.htm
Advertisements