对map集合按照value从大到小进行排序

Posted 小李卫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对map集合按照value从大到小进行排序相关的知识,希望对你有一定的参考价值。

 

概述:

 基本特点:

     该集合存储键值对,而且要保证键的惟一性

子类:

    |--HashTable 底层是哈希数据表结构,不可以使用Null作为键或者值;该集合线程是同步的

    |--hashMap   底层是哈希数据表结构,可以使用Null作为键或者值,该集合线程是不同步的

    |--treemap   底层是二叉树结构,线程不同步,可以对Map中的键值可以排序

   Map集合的两种取出方式(原理:将map集合转换成set,再使用迭代器)

1.传入map集合即可

 

public static Map sortByComparator(Map unsortMap){
List list = new LinkedList(unsortMap.entrySet());
// System.out.println("list:"+list);
Collections.sort(list, new Comparator()
{
public int compare(Object o1, Object o2)
{
return ((Comparable) ((Map.Entry) (o2)).getValue())
.compareTo(((Map.Entry) (o1)).getValue());
}
});
Map sortedMap = new LinkedHashMap();

for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry)it.next();
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;

}

以上是关于对map集合按照value从大到小进行排序的主要内容,如果未能解决你的问题,请参考以下文章

map按照值排序

对ArrayList中的Person对象按照先年龄从大到小,相同年龄的再按照姓名(姓名是英文的)的字母顺序进行排序.

用Python写一个 输入10个数,从大到小排序,并输出前五个数据的和 输入 9 8 7 6 5 4 3 2 1 输出35?

将字符串中的字符按字符出现个数从大到小进行排序

用php定义一个数组,要求把数组从大到小排序并输出

集合的排序(正序,倒序,从大到小排序)