对HashMap的value做升序、降序

这篇具有很好参考价值的文章主要介绍了对HashMap的value做升序、降序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

public class MapUtils {

    // Map的value值降序排序
    public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, V> map) {
        List<Map.Entry<K, V>> list = new ArrayList<>(map.entrySet());
        list.sort((o1, o2) -> {
            int compare = (o1.getValue()).compareTo(o2.getValue());
            return -compare;
        });

        Map<K, V> returnMap = new LinkedHashMap<>();
        for (Map.Entry<K, V> entry : list) {
            returnMap.put(entry.getKey(), entry.getValue());
        }
        return returnMap;
    }

    // Map的value值升序排序
    public static <K, V extends Comparable<? super V>> Map<K, V> sortAscend(Map<K, V> map) {
        List<Map.Entry<K, V>> list = new ArrayList<>(map.entrySet());
        list.sort(Map.Entry.comparingByValue());

        Map<K, V> returnMap = new LinkedHashMap<>();
        for (Map.Entry<K, V> entry : list) {
            returnMap.put(entry.getKey(), entry.getValue());
        }
        return returnMap;
    }

}

因为结果要求是有序的,所以返回的类型必须是LinkedHashMap文章来源地址https://www.toymoban.com/news/detail-681436.html

到了这里,关于对HashMap的value做升序、降序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 若依框架实现表格按照属性排序 升序或降序

    写法非常简单 前端Vue页面   1. 在表格上加监听函数 @sort-change ;   2. 在表行上加排序字 :sort-orders 、可排序字 sortable ;   3. 实现监听函数。   代码如下: 后端XML代码   在 selectList 里面加上参数解析即可,如下: 实现原理   若依框架后端里面已经封装好对应的

    2024年02月09日
    浏览(33)
  • Excel:如何实现分组内的升序和降序?

    1、构建辅助列D列,在D2单元格输入公式: =-POWER(10,COUNTA($A$2:A2)+3)+C2 2、选中B1:D10,注意不能宣导A列的合并单元格,进行以下操作: 3、删除辅助列即可 第一步,D2建立辅助列,单元格内输入公式: * =COUNTA($A$2:A2) 10^4+C2 第二步,选中后三列(除了合并单元格列,其它列都要选中

    2024年02月11日
    浏览(33)
  • JS数组对象——根据日期进行排序Date.parse(),按照时间进行升序或降序排序localeCompare()

    排序在项目中非常实用,出现频率极高,尤其是 后台管理系统 ,需要我们对大量的数据进行 展示、处理、操作 。一般都是 从后台获取到数组对象 ,然后 根据其中的一个属性对数据进行升序或者降序 的处理。从本期文章开始,将分别介绍常用的三种排序—— 根据日期排序

    2024年02月01日
    浏览(41)
  • java中HashMap如何根据value的值去获取key是多少

    在Java中,HashMap是一种基于键值对存储数据的数据结构。HashMap并没有直接提供根据value获取key的方法。但你可以通过遍历HashMap的entrySet,找到对应的value,然后获取其对应的key。 以下是一个示例代码: 你可以传入一个HashMap和一个value,这个方法会遍历HashMap的entrySet,找到第一

    2024年02月09日
    浏览(40)
  • List<HashMap<String,String>>实现自定义字符串排序(key排序、Value排序)

    SpringBoot+Vue3实现登录验证码功能 Java实现发送邮件(定时自动发送邮件) 换个角度使用Redis去解决跨域存取Session问题 Redis缓存穿透、击穿、雪崩问题及解决方法 Spring Cache的使用–快速上手篇 更多该系列文章请查看我的主页哦   根据一些真实需求遇到的问题,需进行排序后

    2024年02月07日
    浏览(77)
  • Java进阶(HashMap)——面试时HashMap常见问题解读 & 结合源码分析

    List、Set、HashMap作为Java中常用的集合,需要深入认识其原理和特性。 本篇博客介绍常见的关于Java中HashMap集合的面试问题,结合源码分析题目背后的知识点。 关于List的博客文章如下: Java进阶(List)——面试时List常见问题解读 结合源码分析 关于的Set的博客文章如下: Jav

    2024年02月08日
    浏览(49)
  • Java HashMap

    Java中的HashMap是一种基于哈希表的数据结构,它可以存储键值对,其中键和值都可以是任意类型的对象。HashMap提供了快速的插入、删除和查找操作,具有高效的性能,因此在Java编程中非常常见。本文将介绍Java中的HashMap的详细信息。 哈希表的实现原理 HashMap是基于哈希表实现

    2024年02月09日
    浏览(37)
  • Java 中的HashMap

    Java中的HashMap是一种常用的集合类,它实现了Map接口,并使用键值对的形式存储数据。下面展开介绍Java中的HashMap: 数据结构:HashMap内部使用了哈希表(Hash Table)数据结构来实现,它通过哈希函数将键映射到存储桶(Bucket)中,每个桶存储一个键值对。 键唯一性:HashMap中的

    2024年02月12日
    浏览(45)
  • 详解Java HashMap

    HashMap是Map接口的实现类,基于哈希表来存储键值对。 HashMap可以存储null的key和value,可以允许多个value为null,但是只能允许一个key为null。 JDK1.8之前的HashMap底层数据结构采用 数组+链表 实现,JDK1.8之后采用 数组+链表/红黑树 实现。数组是HashMap的主体,采用拉链法(链表)解

    2024年02月08日
    浏览(44)
  • Java集合之一——HashMap(辨析)

    看到一篇讲hashmap的文章,讲的很不错,但是有一点我觉得作者没有讲清楚,这里我说一下自己的理解。 原文,先看原文: https://blog.csdn.net/woshimaxiao1/article/details/83661464 前文概述,该博客的主要内容如下: 1. 什么是哈希表(主干为数组)、什么是哈希冲突、如何解决哈希冲突

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包