/** * hashMap排序 * @author lizhibiao * @date 2018/12/3 11:47 */public class TestHashMapCollections{public static void main(String[] args)    {        Map<String, Integer> map = new HashMap<>();        map.put("王二", 8);        map.put("沈吴", 2);        map.put("小菜", 3);        map.put("大鸟", 1);

        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();        for (Map.Entry s : entrySet)        {            System.out.println(s.getKey()+"--"+s.getValue());        }

        System.out.println("============排序后============");

        //借助list实现hashMap排序//

        //注意 ArrayList<>() 括号里要传入map.entrySet()        List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>()        {@Override            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2)            {//按照value值,重小到大排序//                return o1.getValue() - o2.getValue();

                //按照value值,从大到小排序//                return o2.getValue() - o1.getValue();

                //按照value值,用compareTo()方法默认是从小到大排序                return o1.getValue().compareTo(o2.getValue());            }        });

        //注意这里遍历的是list,也就是我们将map.Entry放进了list,排序后的集合        for (Map.Entry s : list)        {            System.out.println(s.getKey()+"--"+s.getValue());        }

    }}

输出结果如下:
沈吴--2
大鸟--1
小菜--3
王二--8
============排序后============
大鸟--1
沈吴--2
小菜--3
王二--8
有疑问,扫我二维码添加微信,欢迎骚扰!
坚持做一件事,一起学习。

转载于:https://www.cnblogs.com/lizb0907/p/10060349.html

HashMap根据value值排序相关推荐

  1. java map 值排序_使用Java8 Stream API对Map类型按照键或值进行排序

    在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Ja ...

  2. Java8 Stream(6)List集合排序 多字段排序 Null值排序

    一.单字段排序 先造点数据 pigs.add(new Pig(1, "猪爸爸", 31, "M", false)); pigs.add(new Pig(2, & ...

  3. Python 字典创建、更新、按键值排序、取最大键值对等操作

    1. 字典创建 In [1]: d = {}In [2]: d Out[2]: {}In [3]: d = dict()In [4]: d Out[4]: {}In [5]: dict(a=1,b=2 ...

  4. 根据数组中对象的属性值排序倒叙

    数组中对象的属性值排序倒叙demo function compare(e) {return function (a, b) {var value1 = a[e];var value2 = b[e];r ...

  5. 用中值排序基数法实现树状结构 (转)

    在BBS的编写中,经常有人问怎样实现树状结构?一个比较不负责任的回答是:使用递归算法.当然,递归是一个可行的办法 (二叉树的历遍也好象只能使用递归算法),但对于BBS来说,这样做势必要进行大量的Sql ...

  6. pandas对dataframe进行排序:单数据列排序、多数据列排序、NA值排序位置、排序算法

    pandas对dataframe进行排序:单数据列排序.多数据列排序.NA值排序位置.排序算法 目录 pandas对dataframe进行排序 #仿真数据 #基于单数据列进行dataframe排序

  7. python中字典按键或键值排序

    字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按"键"排 ...

  8. python字典相同key的值怎么分别取出_python字典值排序并取出前n个key值的方法

    python字典值排序并取出前n个key值的方法 今天在写一个算法的过程中,得到了一个类似下面的字典: {'user1':0.456,'user2':0.999,'user3':0.789,user: ...

  9. python dataframe取列名_python – 获取列名在DataFrame中按其值排序

    我有一个庞大的数据框,我想创建一个字典.字典的键将是行的索引,值将是按该行中的值(降序)排序的数据帧的列名列表.考虑以下示例: df= 23 45 12 3 6 45 0.2 1 0.12 0.5 0 ...

最新文章

  1. 集群 之 LVS + Keepalived
  2. C++类型转换(翻译自cplusplus)
  3. css:hover选择器
  4. Linux负载均衡Nginx六种策略
  5. AS3 Signals之入门篇
  6. [Python] 创建一个整数列表:range()
  7. 【sklearn第十五讲】决策树之回归篇
  8. ios、android、h5、小程序等安卓苹果平台终端兼容问题
  9. ltspice滑动变阻器在哪_NB物理创新课堂|变阻器
  10. GDAL集成GEOS编译笔记
  11. 夜神模拟器--安卓模拟神器
  12. SmartOS——与众不同的虚拟化技术
  13. phpnow升级mysql_PHPnow更新PHP版本后连接数据库错误(mysql_connect报错)
  14. EAN校验码的计算方法
  15. iPhone如何开启头部追踪功能 iPhone头部追踪功能使用方法
  16. 《每日一套题·提升你我能力》· 第五篇
  17. 数字孪生能源系统,打造低碳时代“透视”眼
  18. 跨时钟域(CDC)优秀文章汇总-持续收集
  19. 永中Office在日本
  20. static图片编译了 vue_详解vue-cil和webpack中本地静态图片的路径问题解决方案

热门文章

  1. sql挂起小工具cleanup_SQL注入的攻防策略
  2. jquery设置表单元素只读_jquery设置元素readonly与disabled属性
  3. c语言rand随机输出字母,菜鸟求助,写一个随机输出26个英文字母的程序
  4. mplayer-php,jQuery MPlayer网站音乐播放器插件
  5. java误解问题_关于Java的10个误解
  6. 使用kali的工具攻击win10_使用“媒体创建工具”制作Win10系统安装U盘
  7. 基于php在线相册,基于PHP的图片相册管理分享系统设计
  8. 提示语_《流浪地球》里洗脑的交通提示语怎么来的?吴京可能要“负全责”
  9. ftp工具之本地操作命令
  10. xgb多线程成功运行记录