`

排序Map键值对

J# 
阅读更多
//将Map键值对按值降序排序,返回指定个键值对
static def sortor(map, resultLength) {
    def resultList = []
    if (!map.isEmpty()) {
        def  vals = map.values().toArray()
        def  keys = map.keySet().toArray()
        for (int i=0; i < (vals.size() - 1); i++) {
            for (int j=(i + 1); j < vals.size(); j++) {
                if (vals[i] < vals[j]) {
                    //值按降序排序
                    def tempValue = vals[i]
                    vals[i] = vals[j]
                    vals[j] = tempValue
                    //键和值同步排序
                    def tempKey = keys[i]
                    keys[i] = keys[j]
                    keys[j] = tempKey
                }
            }
        }
        def resultKeys = []
        def resultVals = []
        for (int i=0; i < vals.size(); i++) {
            resultKeys << keys[i]
            resultVals << vals[i]
        }
        if (resultLength > vals.size()) {
            resultList << resultKeys
            resultList << resultVals
        } else {
            resultList << resultKeys.subList(0,resultLength)
            resultList << resultVals.subList(0,resultLength)
        }
    }
    return resultList
}
分享到:
评论
2 楼 chenfeng0104 2010-09-17  
这里是手动实现,当然如果用sort()方法就不需要我们考虑实现方法,仅仅给一个比较就行
1 楼 lcwen_08 2010-09-16  
你想得太复杂了

相关推荐

    java中Map集合的排序方法

    Map中元素存放是无序的 HashMap注意事项: 1,HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中; 2,当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置...

    Android 对Map按key和value分别排序的实例

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射...

    Java Map 按照Value排序的实现方法

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。这篇文章主要介绍了Java Map 按照Value排序的实现方法,需要的朋友可以参考下

    如何利用Java8 Stream API对Map按键或值排序

    主要给大家介绍了关于如何利用Java8 Stream API对Map按键或值排序的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java8具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Java中实现参数名ASCII码从小到大排序(字典序).doc

    此代码为工具类代码,可直接下载使用,调用此方法将需要排序的参数传入即可

    java中set、list和map的使用方法实例

    // map对象容器里面储存的元素是(key,value)形式的键值对,比如(a,1)(b,20)(c,55) // key不可以重复,value可以重复 // 常用的map接口的实现类有HashMap,LinkedHashMap和TreeMap // HashMap不保证集合中元素的顺序,...

    Java MapReduce学习笔记实战内容-小白基础内容

    这些中间键值对根据键进行排序,为Reduce阶段做准备。 3. **Shuffle阶段**:在Map和Reduce之间,MapReduce框架自动执行一个称为“Shuffle”的过程,它将所有相同键的中间值组合在一起,以便Reduce函数可以处理它们...

    set.list.map接口

    //如果要对键进行排序Map map=new TreeMap(); Map,String&gt; map=new TreeMap,String&gt;(); //Map map=new HashMap(); map.put(1, "yi"); map.put(23, "er"); map.put(12, "san"); map.put(3, "si"); //遍历...

    C++自定义结构体排序实现

    C++中自定义结构体选择一个键值 调用sort qsort排序

    Hadoop中MapReduce基本案例及代码(五)

    每一个键值对调用一次map函数。 写自己的逻辑,对输入的key,value处理,转换成新的key,value输出。 对输出的key,value进行分区。 对相同分区的数据,按照key进行排序(默认按照字典排序)、分组。相同key的value...

    手动实现golang中的map源码

    这些实例将涵盖不同的应用场景和需求,包括键值对的增删改查、遍历、排序等等。通过这些实例的学习,你将能够更加深入地理解Map类型的使用方法和注意事项。 总之,这份资源是一份非常有价值的学习资料,适合想要...

    Day 17 Map和File

    程序开发中大部分数据都是键值对形式的 MySQL JSON XML 类对象成员变量和存储的数据 从前端发送的的数据可以转成Map格式 ==&gt; 一键生成类对象 ==&gt; 一键存储到数据库 interface Map --| class HashMap 哈希表结构 --...

    Map和Set的区别

     map和set都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序,如果需要重复则使用multiset,要说区别的话,...

    Java中的Map集合

    程序开发大部分数据都是键值对形式的  MySQL JSON XML 类对象成员变量和存储的数据  从前端发送的数据也可以转成Map格式 ==&gt; 一键生成 ==&gt; 类对象 ==&gt; 一键存储 ==&gt; 数据库 interface Map –| class HashMap 哈希...

    listview按序排列显示

    Android利用Collections.sort()对Map里的键值对按照键进行排序,让listview按序显示

    运用集合模拟斗地主发牌过程

    利用集合模拟斗地主发牌的过程,运用TreeSet集合的自然排序特征和Map集合的键值对来匹配一张扑克牌。

    java集合-TreeMap的使用

    TreeMap是一种基于红黑树实现的有序映射(SortedMap)。它实现了NavigableMap接口,可以按照键的自然顺序或自定义排序规则对键值对进行排序和访问。

    大数据开发笔试.docx

    在不同的DataNode上分别执行Map操作,产生键值对,然后通过shuffle重新洗牌,把键值相同的键值对传给同一个reduce,把键值不同的键值对传给不同的reduce进行处理,最后输出结果。这些按照时间顺序包括:输入分片...

    Day17——知识点总结

    程序开发大部分数据都是键值对形式的 MySQL JSON XML 类对象成员变量和存储的数据 从前端发送的数据也可以转成Map格式 ==&gt; 一键生成 ==&gt; 类对象 ==&gt; 一键存储 ==&gt; 数据库 interface Map --| class HashMap 哈希...

    第十七天

    程序开发大部分数据都是键值对形式的  MySQL JSON XML 类对象成员变量和存储的数据  从前端发送的数据也可以转成Map格式 ==&gt; 一键生成 ==&gt; 类对象 ==&gt; 一键存储 ==&gt; 数据库 interface Map –| class HashMap 哈希...

Global site tag (gtag.js) - Google Analytics