实现对HashMap的value排序
2024-08-25 09:24:51
问题:
如何对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());
}
}
}
运行结果:
结果按照英文字母表的顺序排序。
最新文章
- [转]SpringMVC拦截器简单教程
- Coding过程中遇到的一些bug
- python jar
- js jquery 扩展方法
- gitignore for vs
- node相关--测试
- 解决:导入第三方jar包后,仍然出现java.lang.NoClassDefFoundError的错误
- 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台
- SecureCRTPortable的安装和使用
- 实时监听input标签输入 实时监听文本框输入 避免中文输入法无法触发onkeyup事件的问题
- CodeForces - 1025C 字符串处理,画一个圆。。。
- bzoj 1008
- python中sys和os模块的使用
- 安装MySQL Connector/C++并将其配置到VS2015中
- python-Tornado 框架
- problem:vue之数据变更没有触发视图更新问题
- 运行批处理文件怎么不显示DOS命令窗口
- mfc 进程的诞生和死亡
- 频繁项集挖掘之apriori和fp-growth
- PLSQL在64位 win7/WIN8上运行(绿色版plsql、无需安装oracle客户端)
热门文章
- Git 与 GitHub 简介
- Spring定时任务@Scheduled注解使用方式
- Java中封装类型.valueOf()
- Spark操作dataFrame进行写入mysql,自定义sql的方式
- UML作业第三次
- warning C4828问题的处理
- Flutter采坑之路 用真机跑起来的时候提示 initGradle失败,IO异常,downloading Gradle-4.6-all.zip失败
- mac os x 编译spark-2.1.0 for hadoop-2.7.3
- jieba库的使用和好玩的词云
- bilinear pooling