对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进行排序的常见方法的主要内容,如果未能解决你的问题,请参考以下文章