【Java 学习笔记】 TreeMap排序,Comparator的定义

Java中map的种类很多,java.util包中按照键值排序的容器为TreeMap。TreeMap中默认的排序为升序,如果要改变其排序可以自己写一个Comparator,就暂且把Comparator叫做比较子。

下面的例子把原来降序的容器改为降序

--比较子定义

class descendComparator implements Comparator
{
public int compare(Object o1,Object o2)
{
Double i1
=(Double)o1;
Double i2
=(Double)o2;
return -i1.compareTo(i2);
}
}

--TreeMap定义和排序结果

TreeMap<Double,Integer> map = new TreeMap<Double,Integer>(new descendComparator());
map.put(
1.1, 1);
map.put(
1.2, 2);
map.put(
2.2, 4);

Set
<Double> keys = map.keySet();
Iterator
<Double> iter = keys.iterator();
while(iter.hasNext())
{
double a = iter.next();
System.out.println(
" "+a+":"+map.get(a));
}

结果:
2.2:4
1.2:2
1.1:1
原文地址:https://www.cnblogs.com/xiaoka/p/2158459.html