java根据键值对中值的大小进行排序的手法。

复制代码
程序:随机产生50个红(red)、绿(green)、蓝(blu)色块,统计其个数,并按个数多少,从大到小排序。
String[] color={"red","green","blue"};
List<String> lst = new ArrayList<>();
for (int i = 0; i < 50; i++) {
    lst.add(color[(int)(Math.random()*3)]);
}
HashMap<String,Integer> hm=new HashMap<>();
for (String str : lst) {
    hm.put(str,hm.getOrDefault(str,0)+1);
}
ArrayList<Map.Entry<String, Integer>> etys = new ArrayList<>(hm.entrySet());
etys.sort(new Comparator<Map.Entry<String, Integer>>() {
    @Override
    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
        return o2.getValue()-o1.getValue();
    }
});
for (Map.Entry<String, Integer> ety : etys) {
    System.out.println(ety.getkey());
    System.out.println(ety.getvalue());
}

注意手法。

相关推荐
码云数智-大飞3 小时前
PHP 接口开发规范:统一返回格式、异常处理与参数校验
开发语言·php
极光代码工作室4 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
浮江雾4 小时前
Flutter第十七节-----路由管理(3)
android·开发语言·前端·javascript·flutter·入门
admin and root4 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
我是唐青枫4 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
踏月的造梦星球4 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
An_s4 小时前
c++对接pdfium(一)win系统篇
开发语言·c++
Zwarwolf4 小时前
Rust零散知识点项目汇总
开发语言·rust
-银雾鸢尾-4 小时前
C#中HashTable相关方法
开发语言·c#
茯苓gao4 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习