Java8 HashMap转换为List有序输出(按照Key或Value)
2021/9/6 11:07:10
本文主要是介绍Java8 HashMap转换为List有序输出(按照Key或Value),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public static void main(String[] args) { HashMap phone = new HashMap(); phone.put("Apple", 7299); phone.put("Bpple", 3000); phone.put("SAMSUNG", 6000); phone.put("Meizu", 2698); phone.put("Xiaomi", 2400); //key-sort Set set = phone.keySet(); Object[] arr = set.toArray(); Arrays.sort(arr); System.out.println("原hashMap为无序 转set再转array默认排序为按key排序");
for (Object key : arr) { System.out.println(key + ": " + phone.get(key)); } System.out.println(); //value-sort List<Map.Entry<String, Integer>> sortByValueList = new ArrayList<Map.Entry<String, Integer>>(phone.entrySet()); List<Map.Entry<String, Integer>> sortByKeyList = new ArrayList<Map.Entry<String, Integer>>(phone.entrySet()); // 根据hashMap的Value升序排序: // 也等价 Collections.sort(sortByValueList, Map.Entry.comparingByValue()); sortByValueList.sort(Map.Entry.comparingByValue()); // 根据hashMap的Value降序排序: // Collections.sort(sortByValueList, (o1, o2) -> o2.getValue().compareTo(o1.getValue())); //===================================================================== // 根据hashMap的Key排序: // 也等价 Collections.sort(sortByKeyList, Map.Entry.comparingByKey()); sortByKeyList.sort(Map.Entry.comparingByKey()); // 根据hashMap的Value降序排序: // Collections.sort(sortByKeyList, (o1, o2) -> o2.getKey().compareTo(o1.getKey())); // 遍历 System.out.println("按照value升序"); for (int i = 0; i < sortByValueList.size(); i++) { System.out.println(sortByValueList.get(i).getKey() + ": " + sortByValueList.get(i).getValue()); } System.out.println(); System.out.println("按照key升序"); // 遍历 for (Map.Entry<String, Integer> mapping : sortByKeyList) { System.out.println(mapping.getKey() + ": " + mapping.getValue()); } }
原hashMap顺序(默认按照插入时间) Apple: 7299 Bpple: 3000 Meizu: 2698 SAMSUNG: 6000 Xiaomi: 2400 按照value升序 Xiaomi: 2400 Meizu: 2698 Bpple: 3000 SAMSUNG: 6000 Apple: 7299 按照key升序 Apple: 7299 Bpple: 3000 Meizu: 2698 SAMSUNG: 6000 Xiaomi: 2400 Process finished with exit code 0
如果是按照key排序 且key是字符串 自然根据首字母的ASCII码来
这篇关于Java8 HashMap转换为List有序输出(按照Key或Value)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?