java--将Map转换为List并按value值排序输出

代码:

import java.util.*;

public class Main {
    public static void main(String[] args) {

        Map <String,Integer> map = new LinkedHashMap<>();
        map.put("a", 1);
        map.put("b", 5);
        map.put("c", 9);
        map.put("d", 7);
        map.put("e", 3);
        map.put("f", 2);
        map.put("g", 6);
        map.put("h", 4);

        ArrayList<Map.Entry<String, Integer>> arrayList = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
        Collections.sort(arrayList, new Comparator<Map.Entry<String, Integer>>() {
            public int compare(Map.Entry<String, Integer> map1,
                               Map.Entry<String, Integer> map2) {
                return (map2.getValue() - map1.getValue());
            }
        });
        for (Map.Entry<String, Integer> entry : arrayList) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
}

结果

c 9
d 7
g 6
b 5
h 4
e 3
f 2
a 1

代码参考 https://www.cnblogs.com/letters-zhang/p/3655109.html

posted @   黯渊  阅读(800)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示