Java TreeMap descendingMap() Method



Description

The Java TreeMap descendingMap() method is used to return a reverse order view of the mappings contained in this map. The descending map is backed by this map, so changes to the map are reflected in the descending map, and vice-versa.

Declaration

Following is the declaration for java.util.TreeMap.descendingMap() method.

public NavigableMap<K,V> descendingMap()

Parameters

NA

Return Value

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

Exception

NA

Getting a Navigable Map in Descending Order from a TreeMap of Integer,Integer Pairs Example

The following example shows the usage of Java TreeMap descendingMap() method to get a navigable map of mapping ordered in a descending order. We've created a TreeMap object of Integer,Integer pairs. Then few entries are added to map and using descendingMap() we've retrieved the navigable map of mappings and then printed the same.

package com.tutorialspoint;

import java.util.NavigableMap;
import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, Integer> treemap = new TreeMap<>();

      // populating tree map
      treemap.put(2, 2);
      treemap.put(1, 1);
      treemap.put(3, 3);
      treemap.put(6, 6);
      treemap.put(5, 5);

      // putting values in navigable map
      NavigableMap nmap = treemap.descendingMap();

      System.out.println("Checking value");
      System.out.println("Navigable map values: "+nmap);
   }    
}

Output

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

Checking value
Navigable map values: {6=6, 5=5, 3=3, 2=2, 1=1}

Getting a Navigable Map in Descending Order from a TreeMap of Integer,String Pairs Example

The following example shows the usage of Java TreeMap descendingMap() method to get a navigable map of mapping ordered in a descending order. We've created a TreeMap object of Integer,String pairs. Then few entries are added to map and using descendingMap() we've retrieved the navigable map of mappings and then printed the same.

package com.tutorialspoint;

import java.util.NavigableMap;
import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, String> treemap = new TreeMap<>();

      // populating tree map
      treemap.put(2, "two");
      treemap.put(1, "one");
      treemap.put(3, "three");
      treemap.put(6, "six");
      treemap.put(5, "five");

      // putting values in navigable map
      NavigableMap nmap = treemap.descendingMap();

      System.out.println("Checking value");
      System.out.println("Navigable map values: "+nmap);
   }    
}

Output

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

Checking value
Navigable map values: {6=six, 5=five, 3=three, 2=two, 1=one}

Getting a Navigable Map in Descending Order from a TreeMap of Integer,Object Pairs Example

The following example shows the usage of Java TreeMap descendingMap() method to get a navigable map of mapping ordered in a descending order. We've created a TreeMap object of Integer,Student pairs. Then few entries are added to map and using descendingMap() we've retrieved the navigable map of mappings and then printed the same.

package com.tutorialspoint;

import java.util.NavigableMap;
import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, Student> treemap = new TreeMap<>();

      // populating tree map
      treemap.put(2, new Student(2, "Robert"));
      treemap.put(1, new Student(1, "Julie"));  
      treemap.put(3, new Student(3, "Adam"));
      treemap.put(6, new Student(6, "Julia"));
      treemap.put(5, new Student(5, "Tom"));

      // putting values in navigable map
      NavigableMap nmap = treemap.descendingMap();

      System.out.println("Checking value");
      System.out.println("Navigable map values: "+nmap);
   }    
}
class 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) {
      if(obj == null) return false;
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

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

Checking value
Navigable map values: {6=[ 6, Julia ], 5=[ 5, Tom ], 3=[ 3, Adam ], 2=[ 2, Robert ], 1=[ 1, Julie ]}
java_util_treemap.htm
Advertisements