`
e3002
  • 浏览: 77681 次
社区版块
存档分类
最新评论

map实现排序功能

阅读更多

map内部是按照hash算法存储的,但如果能对map排序在某些时候还是有用的

 /**
     * @param h
     * @return
     * 实现对map按照value升序排序
     */
    @SuppressWarnings("unchecked")
    public static Map.Entry[] getSortedHashtableByValue(Map h) {
        Set set = h.entrySet();
        Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
                .size()]);
        Arrays.sort(entries, new Comparator() {
            public int compare(Object arg0, Object arg1) {
                Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString());
                Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString());
                return key1.compareTo(key2);
            }
        });

        return entries;
    }

 

 

 /**
     * @param h
     * @return
     * 实现对map按照key排序
     */
    @SuppressWarnings("unchecked")
    public static Map.Entry[] getSortedHashtableByKey(Map h) {

        Set set = h.entrySet();

        Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
                .size()]);

        Arrays.sort(entries, new Comparator() {
            public int compare(Object arg0, Object arg1) {
                Object key1 = ((Map.Entry) arg0).getKey();
                Object key2 = ((Map.Entry) arg1).getKey();
                return ((Comparable) key1).compareTo(key2);
            }

        });

        return entries;
    }

分享到:
评论

相关推荐

    Java Map排序

    实现Map的排序功能,此文档针对Java开发,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

    javascript实现map功能极其方便

    javascript实现map,极其方便,可在需要当前页处理多数据时使用

    set.list.map接口

    2. 两个实现类HashSet(LinkHashSet)和TreeSet,TreeSet有排序功能(Set set=new TreeSet();set.add(new Integer(8)); set.add(new Integer(4)); set.add(new Integer(7));)输出后的结果是:4 7 8 Eg: package test...

    line_map_线性表顺序排序_

    实现线性表的顺序存储,利用C++实现,可根据自己的相关需求进一步的添加自己的成员函数,实现相关的功能。水平有限,见谅。

    react问答功能小例子

    react的一个小例子,实现了添加问题以及描述、对问题进行赞或踩、能对问题进行答复,排序等功能(问题跳转用到了路由)。用webpack搭的环境,用到了less和immutable。 一。用npm install 可以下载安装package.json中...

    通用工具类

    8.利用反射机制进行排序工具类,支持数组、List、Set、Map的排序,可以支持多属性排序,支持子对象中的属性排序(例user对象中的role的name属性进行排序,method="role.name") 9.JVM参数获取工具 10.Java对象比较、...

    北华航天工业学院数据结构课程-基于C++实现的机信息管理系统+源代码+文档说明

    <项目介绍> ...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    通过项目实例学习Java Stream.pdf

    Java Stream是Java 8中引入的一个功能强大的API,用于处理集合(Collection)数据。它提供了一种流式处理的方式,可以对集合进行各种操作,如过滤、映射、排序等。 使用Java Stream可以简化代码,提高开发效率。它的...

    Python代码实现删除一个list里面重复元素的方法

    看来,不是只要实现了基本功能就能交差滴,想要真的学好python还有很长的一段路呀 方法一:是利用map的fromkeys来自动过滤重复值,map是基于hash的,大数组的时候应该会比排序快点吧 方法二:是用set(),set是定义...

    STL学习过程中的代码笔记

    使用容器可以方便地存储和管理数据,例如使用vector动态数组来存储元素,使用map实现键值对的映射关系等。此外,STL中的算法也让我受益匪浅。通过调用STL提供的算法函数,可以轻松地实现排序、查找、遍历等操作,极...

    E3.Table

    E3.Table是E3平台下一个用于构造Table视图的组件,现在这个版本的主要功能: 1. 提供排序功能,点击列名,可以实现升序或降序排列 2. 能够对大数据进行分页显示,可以设置每页记录数 3. 支持内存数据,jdbc,...

    golang面试题集合.zip

    实现阻塞读的并发安全Map 高并发下的锁与map读写问题 定时与 panic 恢复 为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能. 七道语法找错题目 golang 并发题目测试 记一道字节跳动的算法面试题 多协程查询切片...

    Golang 面试题汇编

    实现阻塞读的并发安全Map 高并发下的锁与map读写问题 定时与 panic 恢复 为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能. 七道语法找错题目 golang 并发题目测试 记一道字节跳动的算法面试题 多协程查询切片...

    突破程序员基本功的16课.part2

    3.3.2 ArrayList和LinkedList的实现差异 3.3.3 ArrayList和LinkedList的性能分析和适用场景 3.4 Iterator迭代器 迭代时删除指定元素 3.5 小结 第4课 Java的内存回收 4.1 Java引用的种类 4.1.1 对象在内存中...

    mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi

    你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。 如果负载的增加(需要更多...

    Mapreduce实验报告.doc

    Mapreduce实验报告 前言和简介 MapReduce是Google提出的一种编程模型,在这个模型的支持下可以实现大规模并行化计 算。在Mapreduce框架下一个计算机群通过统一的任务调度将一个巨型任务分成许多部分 ,分别解决然后...

    numpy数据分析源代码+大数据的读取_.ipynb

    详细的,有解释的源代码哦 pandas数据处理 1、删除重复元素 使用duplicated()函数检测重复的行,返回元素为...可以使用transform和apply实现相同功能 离散化和分箱 奥巴马VS罗姆尼 时间序列 重采样 大数据读取

Global site tag (gtag.js) - Google Analytics