Map排序工具类如下:

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;/*** @author 睡竹*/
public class MapSort {/*** 根据map中的value大小进行排序【由大到小】*/public static <K extends Comparable,V extends Comparable> Map<K, V> sortMapByValues(Map<K, V> map){//需要用LinkedHashMap排序HashMap<K, V> finalMap = new LinkedHashMap<K, V>();//取出map键值对Entry<K,V>,然后按照值排序,最后组成一个新的列表集合List<Map.Entry<K, V>> list = map.entrySet().stream()//sorted((p2,p1)   表示由大到小排序   ||  sorted((p1,p2)   表示由小到大排序.sorted((p2,p1)->p1.getValue().compareTo(p2.getValue())).collect(Collectors.toList());//遍历集合,将排好序的键值对Entry<K,V>放入新的map并返回。list.forEach(ele->finalMap.put(ele.getKey(), ele.getValue()));return finalMap;}}

案例:

public static void main(String[] args) {//创建map及数据Map<String, Double> map = new HashMap<>();map.put("张三", 98.5);map.put("赵六", 66.0);map.put("李四", 88.5);map.put("王五", 95.2);System.out.println("未排序前的map:" + map);//排序Map<String, Double> sortMap = MapSort.sortMapByValues(map);System.out.println("已排序后的map:" + sortMap);
}

运行结果:

Java Map按value值的大小进行排序相关推荐

  1. java map 遍历取值_Map 遍历取值及jstl的取值

    学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239 1.Java map的便利取值 Java代码 收藏代码 Map map = ...

  2. java集合按大小排序_JAVA中对List根据map某个key值从小到大顺序进行排序

    /** * @功能描述:排序方法 * @author LJ * 2018年10月29日 -下午2:38:15 */ public class java_ListMapSort { public sta ...

  3. java map随机取值_HashMap随机取值和迭代器取值的对比

    一共四中方法,前两种是迭代器取值,后两种是随机取值,循环了5000万次,时间分别为:迭代器读取的速度大约是随机读取的速度的1.5倍,数据量越大,差距越明显. 另外,插入是读取的100倍左右的时间(这个 ...

  4. java map 多个值_java 一个函数EnumMap返回多个值

    在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!! 网上这个问题的解决方法: 1.使用map返回值:这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过 ...

  5. java map 允许null值,Map取值方法,其中取得多种值,避免null值转换

    ~~~ import java.math.BigDecimal; import java.util.Date; import java.util.Map; /** * * Map取值方法,其中取得多种 ...

  6. java map 随机取值_随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value...

    利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...

  7. python字典按值(Values)排序的方法

    python字典按照值的大小来排序的方法 def set_rank(a_dict):a_sort_list = sorted(a_dict.items(),key=lambda x : x[1], r ...

  8. map根据value值排序_凯哥带你从零学大数据系列之Java篇---第十九章:集合(Map+Collections)...

    温馨提示:如果想学扎实,一定要从头开始看凯哥的一系列文章(凯哥带你从零学大数据系列),千万不要从中间的某个部分开始看,知识前后是有很大关联,否则学习效果会打折扣. 系列文章第一篇是拥抱大数据:凯哥带你 ...

  9. java map大小_Java中HashMap的size()方法: HashMap.size() - Break易站

    Java中的HashMap HashMap类的java.util.HashMap.size()方法用于获取哈希映射HashMap中映射的大小,该映射引用Map中键值对或映射的数量. 句法: Hash_ ...

最新文章

  1. Oracle 免费的数据库--Database 快捷版 11g 安装使用与SOD框架对Oracle的CodeFirst支持...
  2. 官宣!邢波出任全球首个AI大学校长,MBZUAI明年1月迎来首批新生
  3. Oracle日期转换处理
  4. 【ABAP】在线预览文档对象的开发实现
  5. NOIp 2014 #2 联合权值 Label:图论 !!!未AC
  6. java核心技术----访问权限
  7. 第1章 Hello MFC
  8. 众所周知的局域网聊天软件
  9. Linux文件默认权限——umask
  10. 空间说说秒赞java_人生靠反省,Java靠泛型
  11. 从办公桌可以看透一个人
  12. 如何关闭父窗体?C#(已解决)
  13. tl-wn821n无线网卡驱动 linux,tl-wn821n无线网卡驱动下载
  14. android游戏脚本开发工具,游戏脚本制作工具无需安卓
  15. Java获取一个月每周星期一至星期日的日期
  16. html网页直播实时聊天,一分钟实现网页多人聊天室【Socket.IO】
  17. BugKu-CTF(杂项misc)--YST的小游戏/easy_python
  18. Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码
  19. 每日一佳——Information-Theoretic Metric Learning(Jason V. Davis et al. ,ICML,2007)
  20. 解决问题:Matlab如何生成或保存无背景图片

热门文章

  1. kubeasz部署k8s高可用集群
  2. unbound支持ecs版本安装,配置
  3. windows ssh代理_如何在Windows上通过SSH设置代理?
  4. 关于DataGrid的使用
  5. Excel2016滚动模式去除
  6. Linksys WRT1900ACS刷OpenWrt
  7. 微信小程序|基于小程序实现透明背景人像分割
  8. 跨境电商卖家,如何避免被亚马逊黑心测评商家割韭菜?+自养号教学
  9. 基于matlab实现电力系统的无功功率平衡和电压调整
  10. “华为杯”研究生数学建模竞赛2020年-【华为杯】B题:汽油辛烷值优化建模(附获奖论文和python代码实现)