Java TreeMap如何为自定义类定义一个排序规则呢?

java-教程王 Java教程 发布时间:2021-11-28 17:10:03 阅读数:12199 1
我们都知道TreeMap中使用自定义类型,必须实现Comparable接口或实现一个自定义比较器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(8.8, 7);
map.put(12.2, 8);
map.put(1.1, 9);
         
Set<Double> keys = map.keySet();
Iterator<Double> iter = keys.iterator();
while(iter.hasNext())
{
        double k = iter.next();
        System.out.println(" "+k+":"+map.get(a));
}
------运行以上代码,将输出以下信息
12.2:8
8.8:7
1.1:9
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202111/1896.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者