默认情况下,TreeMap
元素按键的升序排序。我们可以以相反的顺序迭代TreeMap
,以按键的降序显示元素。
以相反的顺序显示TreeMap
元素:
import java.util.*;
class TreeMapDemo {
public static void main(String args[]) {
Map<String, String> treemap =
new TreeMap<String, String>(Collections.reverseOrder());
// Put elements to the map
treemap.put("Key1", "Jack");
treemap.put("Key2", "Rick");
treemap.put("Key3", "Kate");
treemap.put("Key4", "Tom");
treemap.put("Key5", "Steve");
Set set = treemap.entrySet();
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
}
}
输出:
Key5: Steve
Key4: Tom
Key3: Kate
Key2: Rick
Key1: Jack
如您所见,元素以与键相反的顺序显示。
public static Comparator reverseOrder()
:返回一个比较器,它对实现Comparable
接口的对象集合施加自然顺序的反转。 (自然排序是由对象自己的compareTo
方法强加的排序。)这使得一个简单的习惯用法可以对反向自然顺序实现Comparable
接口的对象的集合(或维护)进行排序(或维护)。例如,假设a
是一个字符串数组。然后:Arrays.sort(a, Collections.reverseOrder());
以反向字典(按字母顺序)顺序对数组进行排序。返回的比较器是可序列化的。
返回:
一个比较器,它对实现Comparable
接口的对象集合施加自然顺序的反转。