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

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,可以使用TreeMap,它会根据键的自然顺序进行排序,或者使用实现SortedMap接口的其他Map实现类,并指定排序规则。 在这个例子中,我们看到通过使用TreeMap来实现Map元素的排序。TreeMap是基于...

    Map (c++实现的简易map)

    尽管`std::map`已经提供了一套完整的功能,但自己动手实现可以帮助开发者深入理解底层的红黑树(Red-Black Tree)或其他平衡二叉查找树算法,这些算法是`std::map`的基础。 自定义`Map`的基本结构通常包括以下组件...

    java map实例,排序

    本篇文章将详细探讨`HashMap`, `LinkedHashMap`, `TreeMap`, 和 `Hashtable`这四个常见的Map实现类,特别是它们如何处理排序的问题。 首先,`HashMap`是最常用的Map实现,它不保证元素的顺序,插入顺序和遍历顺序...

    对map里面的value进行排序

    这篇博客"对map里面的value进行排序"探讨的就是如何实现这一需求。 首先,我们了解Map接口的基本概念。Map接口不直接支持排序,但是Java提供了一些实现了SortedMap接口的类,如TreeMap,它会按照键(Key)的自然...

    Java Map排序

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

    javascript实现map功能极其方便

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

    STL_map初始化和排序

    STL(Standard Template Library,标准模板库)是C++中的一部分,它提供了高效且灵活...通过正确初始化和利用其内置排序功能,可以有效地管理和操作数据。在VC++控制台应用程序中实践这些概念,有助于加深对STL的理解。

    map容器实现方法

    在C++标准库中,`map`容器是一个关联容器,它提供了一种通过键(key)来访问元素的方式。`map`容器中的每个元素都包含一个键值对,...在实际编程中,`map`常用于建立键值对应关系,例如存储配置信息、实现词典等功能。

    JCF(List、Set、Map)学习,实现了<key,value>按value排序噢

    本次我们关注的是Java集合框架中的三类接口:List、Set和Map,以及如何实现它们的特定功能,特别是关于`TreeSet`和`TreeMap`的按值排序。标题中提到的“JCF(List、Set、Map)学习,实现了,value&gt;按value排序”是一个...

    JavaScript实现Array(数组)和Map

    `array.js` 文件可能包含了对数组操作的一些自定义函数或者扩展,例如可能实现了数组去重、查找指定元素的索引、排序等功能。这些功能可以通过阅读源码来了解其具体的实现方式和用途。 接着,Map是ES6中新增的一种...

    java如何对map进行排序详解(map集合的使用)

    3. 其他Map的排序:对于HashMap和Hashtable这类无内置排序功能的Map,如果需要排序,可以将它们的entrySet()转换为List,然后使用Collections.sort()进行排序。同样,这会创建新的数据结构,而非原地排序。 三、...

    Java Map 按key排序和按Value排序的实现方法

    它在HashMap的基础上添加了对插入顺序或访问顺序的跟踪,但不提供内置的排序功能。如果你需要排序,仍需借助于上述的TreeMap或value排序的方法。 4. **注意点**: - 当使用Comparator时,确保比较操作满足`compare...

    【ASP.NET编程知识】ASP.NET MVC分页和排序功能实现.docx

    ASP.NET MVC 分页和排序功能实现 标题:ASP.NET MVC 分页和排序功能实现 描述:本文将介绍如何在 ASP.NET MVC 中实现分页和排序功能,使用 EF Code-First 方式分页控件 PagedList.MVC,来实现分页,排序思路是加载...

    用RecyclerView实现字母排序

    本主题将深入探讨如何使用RecyclerView的ItemDecoration机制来实现字母排序效果,这一功能常见于联系人应用或者商店商品分类等场景。 首先,我们需要理解RecyclerView.ItemDecoration的作用。这个接口允许我们在...

    Map实现类1

    Map接口定义了多种操作键值对的方法,而HashMap和TreeMap是两种常见的Map实现类。 1. HashMap - 数据结构:HashMap基于哈希表实现,内部使用数组加链表或者红黑树的结构。每个元素是一个内部类Node,实现了Map....

    HASHMAP排序功能描述

    HashMap排序并不是HashMap本身的功能,而是通过其他手段实现的。根据实际需求,可以选择使用LinkedHashMap或通过转换和排序来达到目的。理解这些方法及其背后的原理,可以帮助我们在编程中更灵活地处理数据结构和...

    程序实现时间排序Comparator

    在Java中,`Comparator`是一个功能强大的工具,允许开发者自定义对象的排序规则。下面将详细解析代码示例中的知识点。 ### 1. Comparator接口的基本理解 `Comparator`接口在Java中被用于控制集合(如`List`)中...

    js代码操作table排序功能

    3. **实现排序功能** 当用户点击表头时,我们需要根据点击的列索引执行排序。这里可以给每个`&lt;th&gt;`元素添加点击事件监听器,并调用上面的`ascendingSort`函数。同时,我们需要考虑降序排序的情况,可以通过一个变量...

    line_map_线性表顺序排序_

    总的来说,这个项目旨在提供一个基础的线性表顺序存储实现,通过自定义的动态数组类支持排序功能。开发者可以根据实际需求,扩展类的功能,优化排序算法,或加入更多数据结构操作,提高代码的灵活性和实用性。

    c++实现的简易map

    然而,自定义的简易`Map`可能不包含所有这些特性,但通常会实现基本的键值对存储和访问功能。以下是一些可能包含的关键知识点: 1. **键值对**:简易`Map`的核心概念是键值对,其中键是用于唯一标识元素的值,而...

Global site tag (gtag.js) - Google Analytics