本文为原创博客,仅供技术学习使用。未经允许,禁止转载

程序

package test;import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;public class Test {public static Map<Integer, Double> Probs = new TreeMap<Integer, Double>();public static void main(String[] args) {Probs.put(1, 0.5);Probs.put(2, 1.5);Probs.put(3, 0.2);Probs.put(4, 10.2);Probs = sortByValueDescending(Probs);System.out.println("基于value值的降序,排序输出结果为:");for (Map.Entry<Integer, Double> entry : Probs.entrySet()) {System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}System.out.println();System.out.println("基于value值的升序,排序输出结果为:");Probs = sortByValueAscending(Probs);for (Map.Entry<Integer, Double> entry : Probs.entrySet()) {System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}}//降序排序public static <K, V extends Comparable<? super V>> Map<K, V> sortByValueDescending(Map<K, V> map){List<Map.Entry<K, V>> list = new LinkedList<Map.Entry<K, V>>(map.entrySet());Collections.sort(list, new Comparator<Map.Entry<K, V>>(){@Overridepublic int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2){int compare = (o1.getValue()).compareTo(o2.getValue());return -compare;}});Map<K, V> result = new LinkedHashMap<K, V>();for (Map.Entry<K, V> entry : list) {result.put(entry.getKey(), entry.getValue());}return result;}//升序排序public static <K, V extends Comparable<? super V>> Map<K, V> sortByValueAscending(Map<K, V> map){List<Map.Entry<K, V>> list = new LinkedList<Map.Entry<K, V>>(map.entrySet());Collections.sort(list, new Comparator<Map.Entry<K, V>>(){@Overridepublic int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2){int compare = (o1.getValue()).compareTo(o2.getValue());return compare;}});Map<K, V> result = new LinkedHashMap<K, V>();for (Map.Entry<K, V> entry : list) {result.put(entry.getKey(), entry.getValue());}return result;}}

输出结果

Map的value值降序排序与升序排序(java)相关推荐

  1. Java map按照值降序排列

    1)Java map按照值降序排列 思路是转成 list,然后再写入能保证顺序的 LinkedHashMap,普通的 HashMap和 TreeMap等不能保证顺序. /*** 降序排列 map*/p ...

  2. seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图降序(descending)排序(Sort Boxplots in Descending Order)

    seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图降序(descending)排序(Sort Boxplots in Descending Order with Pytho ...

  3. Java stream().sorted()实现排序(升序、降序、多字段排序)

    1 自然排序 sorted():自然排序,流中元素需实现Comparable接口 package com.entity;import lombok.*;@Data @ToString @AllArgs ...

  4. mysql 2008降序排列,sql倒序排序语句

    sql中的排序,如何使用倒序 sql中的排序使用倒序的步骤如下: 我们需要准备的材料分别是:电脑.sql查询器. 1.首先,打开sql查询器,连接上相应的数据库表,例如test表,以score字段倒序 ...

  5. JAVA里List集合中的对象根据对象的某个属性值降序或者升序排序java8

    package com.stream;import java.util.Comparator; import java.util.List;public class Test {public stat ...

  6. pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制)

    前言 我想把数据分析刻进DNA里 如下面的数据,对price,要进行最简单的升序操作: 这个好整: import pandas as pdshop = pd.read_csv("data/s ...

  7. linux中对数据怎么降序,Linux系统sort排序命令怎么使用

    sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.那么Linux系统sort排序命令怎么使用呢?小编为大家分享了 ...

  8. Vue升序降序(前端价格排序)

    定义两个按钮 <div id="showGoods"><button @click="upchange">升序</button&g ...

  9. python选出奇数并降序_奇数结点升序偶数结点降序的单链表排序(Python实现)

    题目 一个链表,奇数结点升序,偶数结点降序,要求变成一个全升序的链表. 例如:1->8->2->7->3->6->4->5,变为1->2->3-& ...

最新文章

  1. linux中awk下 gsub函数用法
  2. Google Play应用描述格式
  3. 冒泡排序python实现
  4. kaggle中zillow比赛中模型融合的方法及其代码
  5. Android 闹钟
  6. 基于matlab边缘提取的几种方法的比较
  7. 关于静态成员变量的谈论
  8. 【人工智能】深度学习自动构图研究报告
  9. 微信的cookie 和 session
  10. Oracle下载安装:
  11. 【STM32H7的DSP教程】第22章 DSP矩阵运算-放缩,乘法和转置矩阵
  12. st计算机编程语言,SoMAChineST编程语言介绍.pdf
  13. Vue2.0+组件库总结
  14. 分布式系统:FastRPC eRPC
  15. V831编译提示 virtual memory exhausted: Cannot allocate memory 解决方法
  16. 微信开发 没有认证过的服务号怎么办?微信提供了测试号(开通了认证过的服务号的功能)
  17. 联网技术架构讨论:Facebook 如何管理150亿张照片
  18. PS 2019 Mac版 自学入门系列(五)——调配冷色与暖色
  19. 乳腺肿瘤超声图像感兴趣区域的自动识别综述
  20. 失物招领系统软件测试,失物招领系统(原创)

热门文章

  1. IT人母亲的美国之行(4)
  2. 现身说法“好奇心害死人啊”
  3. ETCD v3 restful api 使用详解
  4. Vue组件-Confirm详解
  5. Vue笔记——Vue组件中引入jQuery
  6. Typora+PicGo+github搭建免费稳定图床写博客如行云流水(mac+window)
  7. C语言,利用一维数组和选择法对成绩高低排序,及输出对应的学号
  8. 04737 c++程序设计 第二章 课后程序设计题 第一题
  9. 【Python】万花筒
  10. C#LeetCode刷题之#234-回文链表(Palindrome Linked List)