TreeMap comparator() 方法在Java中的使用及示例
java.util.TreeMap 类的 comparator() 方法用于返回用于按顺序排列此映射中键的比较器,如果此映射使用其键的自然顺序,则返回 null。
–> java.util 包
–> TreeMap 类
–> comparator() 方法
语法:
public Comparator comparator()
返回值: 此方法返回用于按顺序排列此映射中键的 比较器 ,或者如果此映射使用其键的自然顺序,则返回 null。
注意: descendingIterator() 方法 默认情况下是按照自然排序的。
示例1: 对于默认排序
// Java程序演示comparator()方法
//用于默认排序(降序)
//导入所需类
import java.util.*;
//主类
public class GFG {
//主驱动程序方法
public static void main(String[] argv) throws Exception
{
//尝试块检查是否有异常
try {
//通过NavigableMap类创建一个空TreeMap
NavigableMap<Integer, String> treemap
= new TreeMap<Integer, String>();
//使用put()方法填充TreeMap
treemap.put(1, "one");
treemap.put(2, "two");
treemap.put(3, "three");
treemap.put(4, "four");
treemap.put(5, "five");
//打印TreeMap
System.out.println("TreeMap: " + treemap);
//获取用于映射中的值的比较器
//使用comparator()方法
Comparator comp = treemap.comparator();
//打印比较器值
System.out.println("Comparator value: " + comp);
}
//捕捉块,以处理异常
catch (NullPointerException e) {
//如果发生异常,则显示消息
System.out.println("Exception thrown : " + e);
}
}
}
输出:
TreeMap: {1=one, 2=two, 3=three, 4=four, 5=five}
Comparator value: null
示例2: 对于反向排序
// Java程序演示比较器()方法
//用于反向排序
//导入所需类
import java.util.*;
//主类
public class GFG {
//主驱动程序方法
public static void main(String[] argv) throws Exception
{
//Try block检查是否有异常
try {
//创建一个空的TreeMap
NavigableMap<Integer, String> treemap
= new TreeMap<Integer, String>(
Collections.reverseOrder());
//用put()方法填充TreeMap
treemap.put(1, "一");
treemap.put(2, "二");
treemap.put(3, "三");
treemap.put(4, "四");
treemap.put(5, "五");
//打印输出TreeMap
System.out.println("TreeMap: " + treemap);
//使用comparator()方法获取地图中使用的比较器
Comparator comp = treemap.comparator();
//打印比较器值
System.out.println("Comparator value: " + comp);
}
//Catch块来处理异常
catch (NullPointerException e) {
//如果发生异常,则显示消息
System.out.println("Exception thrown : " + e);
}
}
}
输出:
TreeMap: {5=five, 4=four, 3=three, 2=two, 1=one}
Comparator value: java.util.Collections$ReverseComparator@232204a1