问题:
如何对HashMap中的value值进行排序

关键点:
1.取HashMap的Map.Entry,放入List
2.利用Collections.sort(List, Comparator<? extents T>)对Map.Entry中的value进行排序
3.实现内部类Comparator,实现String的compare方法

代码:

 import java.util.*;

 public class HashMapTest {

     public static void main(String[] args){
HashMap<String, String> map = new HashMap<>();
map.put("one", "good");
map.put("two", "bad");
map.put("three", "happy");
map.put("fourth", "sad"); List<Map.Entry<String, String>> listEntry = new ArrayList<>();
listEntry.addAll(map.entrySet());
Collections.sort(listEntry, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) { // String的compareTo方法,返回负数,说明o1在o2的字典顺序之前。
return o1.getValue().compareTo(o2.getValue());
}
}); for(Map.Entry<String, String> entry : listEntry){
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}

运行结果:

结果按照英文字母表的顺序排序。

最新文章

  1. [转]SpringMVC拦截器简单教程
  2. Coding过程中遇到的一些bug
  3. python jar
  4. js jquery 扩展方法
  5. gitignore for vs
  6. node相关--测试
  7. 解决:导入第三方jar包后,仍然出现java.lang.NoClassDefFoundError的错误
  8. 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台
  9. SecureCRTPortable的安装和使用
  10. 实时监听input标签输入 实时监听文本框输入 避免中文输入法无法触发onkeyup事件的问题
  11. CodeForces - 1025C 字符串处理,画一个圆。。。
  12. bzoj 1008
  13. python中sys和os模块的使用
  14. 安装MySQL Connector/C++并将其配置到VS2015中
  15. python-Tornado 框架
  16. problem:vue之数据变更没有触发视图更新问题
  17. 运行批处理文件怎么不显示DOS命令窗口
  18. mfc 进程的诞生和死亡
  19. 频繁项集挖掘之apriori和fp-growth
  20. PLSQL在64位 win7/WIN8上运行(绿色版plsql、无需安装oracle客户端)

热门文章

  1. Git 与 GitHub 简介
  2. Spring定时任务@Scheduled注解使用方式
  3. Java中封装类型.valueOf()
  4. Spark操作dataFrame进行写入mysql,自定义sql的方式
  5. UML作业第三次
  6. warning C4828问题的处理
  7. Flutter采坑之路 用真机跑起来的时候提示 initGradle失败,IO异常,downloading Gradle-4.6-all.zip失败
  8. mac os x 编译spark-2.1.0 for hadoop-2.7.3
  9. jieba库的使用和好玩的词云
  10. bilinear pooling