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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值