对HashMap进行排序的常见方法

Posted 谷哥的小弟

tags:

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


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

需求描述

我们都知道HashMap是无序的;可是,有时候需要对HashMap进行排序。例如,按照HashMap值的大小进行升序排序。

代码实现


import java.util.*;

/**
 * 本文原创作者:谷哥的小弟
 * 作者博客地址:http://blog.csdn.net/lfdfhl
 */
public class HashMapSort 
    public static void main(String[] args)  
        HashMap<String, Integer> hashMap = new HashMap<>();
        hashMap.put("zxx", 66);
        hashMap.put("zxc", 77);
        hashMap.put("wmd", 55);
        Set<Map.Entry<String, Integer>> entrySet = hashMap.entrySet();
        List<Map.Entry<String, Integer>> entryList = new ArrayList<>(entrySet);
        // 升序排序
        Collections.sort(entryList, new Comparator<Map.Entry<String, Integer>>() 
            public int compare(Map.Entry<String, Integer> o1,
                               Map.Entry<String, Integer> o2) 
                return o1.getValue().compareTo(o2.getValue());
            
        );

        System.out.println("排序后的HashMap如下:");
        for (Map.Entry<String, Integer> entry : entryList) 
            System.out.println(entry.getKey() + " : " + entry.getValue());
        

        Map.Entry<String, Integer> luckyEntry = entryList.get(entryList.size() - 1);
        String key = luckyEntry.getKey();
        System.out.println("值最大的键为" + key);
    


测试结果

以上是关于对HashMap进行排序的常见方法的主要内容,如果未能解决你的问题,请参考以下文章

Java8常见操作整理

按日期对 HashMap 进行排序

Java 如何对 HashMap 或 HashTable 中的项目进行排序?

JAVA基础ListMap排序总结

java hashmap常见用法

根据值然后键对HashMap进行排序? [复制]