Map的value值降序排序与升序排序(java)
本文为原创博客,仅供技术学习使用。未经允许,禁止转载
程序
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)相关推荐
- Java map按照值降序排列
1)Java map按照值降序排列 思路是转成 list,然后再写入能保证顺序的 LinkedHashMap,普通的 HashMap和 TreeMap等不能保证顺序. /*** 降序排列 map*/p ...
- seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图降序(descending)排序(Sort Boxplots in Descending Order)
seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图降序(descending)排序(Sort Boxplots in Descending Order with Pytho ...
- Java stream().sorted()实现排序(升序、降序、多字段排序)
1 自然排序 sorted():自然排序,流中元素需实现Comparable接口 package com.entity;import lombok.*;@Data @ToString @AllArgs ...
- mysql 2008降序排列,sql倒序排序语句
sql中的排序,如何使用倒序 sql中的排序使用倒序的步骤如下: 我们需要准备的材料分别是:电脑.sql查询器. 1.首先,打开sql查询器,连接上相应的数据库表,例如test表,以score字段倒序 ...
- JAVA里List集合中的对象根据对象的某个属性值降序或者升序排序java8
package com.stream;import java.util.Comparator; import java.util.List;public class Test {public stat ...
- pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制)
前言 我想把数据分析刻进DNA里 如下面的数据,对price,要进行最简单的升序操作: 这个好整: import pandas as pdshop = pd.read_csv("data/s ...
- linux中对数据怎么降序,Linux系统sort排序命令怎么使用
sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.那么Linux系统sort排序命令怎么使用呢?小编为大家分享了 ...
- Vue升序降序(前端价格排序)
定义两个按钮 <div id="showGoods"><button @click="upchange">升序</button&g ...
- python选出奇数并降序_奇数结点升序偶数结点降序的单链表排序(Python实现)
题目 一个链表,奇数结点升序,偶数结点降序,要求变成一个全升序的链表. 例如:1->8->2->7->3->6->4->5,变为1->2->3-& ...
最新文章
- mysql 表的继承,MySQL是否支持表继承?
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(不同分组配置不同的箱体填充色+灰度尺度图)实战
- 弹出无toobar的网页
- 21/100. Two Sum
- poj1251 Jungle Roads Kruskal算法+并查集
- ceshildkd 124
- js 执行环境 活动对象 变量对象 作用域链的理解
- python字典占内存_Python:减少字典的内存使用
- 数学建模常用模型和算法介绍
- javascript编写acm算法题
- Windows 服务快捷启动命令
- Excel如何查找两列数据不同项
- 我喜欢的刀刀语录(一)
- 我爱过你吗--我看美丽心灵的永恒阳光
- 优秀的程序员真的不写注释吗?
- python量化交易策略实例_Python写一个量化股票提醒系统实例
- PHP下制作图灵机器人程序
- 英飞凌Traveo II SDL(Sample Driver Lib)简介
- Valgrind 内存管理工具Memcheck 基本使用
- 5G R17标准冻结,主要讲了些啥?