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());
}

注意手法。

相关推荐
霸道流氓气质1 分钟前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军3 分钟前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
ZC跨境爬虫16 分钟前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
路溪非溪32 分钟前
Python语言的执行流程总结
开发语言·python
民乐团扒谱机40 分钟前
【超详解】量子克拉美罗下界QCRB:时延估计精度极限推导+MATLAB多场景绘图实战
开发语言·机器学习·matlab·量子力学·qcrb
kisbad1 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
憧憬成为java架构高手的小白1 小时前
langchain4j框架学习
java
乐观勇敢坚强的老彭1 小时前
C++ 竞赛常用算法模板速查表
开发语言·c++·算法
0x531 小时前
Java网络编程(四)
java·网络
离陌在学C#2 小时前
C# 泛型:从基础到高级应用
开发语言·c#