看看java中map按value 降序的方法!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了看看java中map按value 降序的方法!!!相关的知识,希望对你有一定的参考价值。

public static Map.Entry[] getSortedHashtableByValue(Map h)
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set.size()]);
Arrays.sort(entries, new Comparator()
public int compare(Object arg0, Object arg1)
Double key1 = Double.valueOf(((Map.Entry) arg0).getValue()
.toString());
Double key2 = Double.valueOf(((Map.Entry) arg1).getValue()
.toString());
return key1.compareTo(key2);

);
return entries;

上面的代码是升序排列,请高手们帮忙写个降序排序的方法,或者改成子降序的也行!!

参考技术A public static Map.Entry[] getSortedHashtableByValue(Map h)
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set.size()]);
Arrays.sort(entries, new Comparator()
public int compare(Object arg0, Object arg1)
Double key1 = Double.valueOf(((Map.Entry) arg0).getValue()
.toString());
Double key2 = Double.valueOf(((Map.Entry) arg1).getValue()
.toString());

if (key1 < key2)
return 1; // Neither val is NaN, thisVal is smaller
if (key1 > key2)
return -1; // Neither val is NaN, thisVal is larger
long thisBits = Double.doubleToLongBits(key1);
long anotherBits = Double.doubleToLongBits(key2);

return (thisBits == anotherBits ? 0 : // Values are equal
(thisBits < anotherBits ? 1 : // (-0.0, 0.0) or (!NaN, NaN)
-1)); // (0.0, -0.0) or (NaN, !NaN)


);
return entries;
本回答被提问者采纳

Mysql——实现按字段部分升序,部分降序的方法

  

  mysql order排序时可以通过asc参数实现升序,desc参数实现降序。

例如:

升序排序:select   *  from  表名 order by  字段 asc  (mysql默认是升序排列)

降序排序:select   *  from  表名 order by  字段 desc

如果希望查询结果,对一个字段进行升序,一个进行降序,则可以通过以下方式实现:

order by “升序字段” asc,“降序字段” desc。

  我自己做测试的话,应该是先排序一个字段,后来另一个字段在前一个字段基础上再排序

以上是关于看看java中map按value 降序的方法!!!的主要内容,如果未能解决你的问题,请参考以下文章

如何使用select创建一个数值降序的宏数组

Java实现数组降序的方法

java8新特性:对map集合排序,根据key或者value操作排序(升序降序)

Java数组降序排序?

编程: 输入一个字符串,统计该字符串中每个字母出现的次数,并按出现次数降序的输出每个字母。

降序排序:Java Map