The comparator() method of java.util.TreeMap class is used to return the comparator used to order the keys in this map, or null if this map uses the natural ordering of its keys.
--> java.util Package --> TreeMap Class --> comparator() Method
Syntax:
public Comparator comparator()
Return Type: This method returns the comparator used to order the keys in this map, or null if this map uses the natural ordering of its keys.
Note: descendingIterator() method is natural ordering by default.
Example 1: For Natural ordering
Java
// Java program to Illustrate comparator() Method // for Natural Ordering (Descending Order) // Importing required classes import java.util.*;
// Main class public class GFG {
// Main driver method
public static void main(String[] argv) throws Exception
{
// Try block to check for exceptions
try {
// Creating an empty TreeMap by
// creating object of NavigableMap
NavigableMap<Integer, String> treemap
= new TreeMap<Integer, String>();
// Populating TreeMap
// using put() method
treemap.put( 1 , "one" );
treemap.put( 2 , "two" );
treemap.put( 3 , "three" );
treemap.put( 4 , "four" );
treemap.put( 5 , "five" );
// Printing the TreeMap
System.out.println( "TreeMap: " + treemap);
// Getting used Comparator in the map
// using comparator() method
Comparator comp = treemap.comparator();
// Printing the comparator value
System.out.println( "Comparator value: " + comp);
}
// Catch block to handle the exception
catch (NullPointerException e) {
// Display message if exception occurs
System.out.println( "Exception thrown : " + e);
}
}
} |
Output:
TreeMap: {1=one, 2=two, 3=three, 4=four, 5=five} Comparator value: null
Example 2: For Reverse ordering
Java
// Java program to demonstrate comparator() Method // for Reverse Ordering // Importing required classes import java.util.*;
// Main class public class GFG {
// Main driver method
public static void main(String[] argv) throws Exception
{
// Try block to check for exceptions
try {
// Creating an empty TreeMap
NavigableMap<Integer, String> treemap
= new TreeMap<Integer, String>(
Collections.reverseOrder());
// Populating TreeMap
// using put() method
treemap.put( 1 , "one" );
treemap.put( 2 , "two" );
treemap.put( 3 , "three" );
treemap.put( 4 , "four" );
treemap.put( 5 , "five" );
// Printing the TreeMap
System.out.println( "TreeMap: " + treemap);
// Getting used Comparator in the map
// using comparator() method
Comparator comp = treemap.comparator();
// Printing the comparator value
System.out.println( "Comparator value: " + comp);
}
// Catch block to handle the exceptions
catch (NullPointerException e) {
// Display message if exception occurs
System.out.println( "Exception thrown : " + e);
}
}
} |
Output:
TreeMap: {5=five, 4=four, 3=three, 2=two, 1=one} Comparator value: java.util.Collections$ReverseComparator@232204a1