`
zysnba
  • 浏览: 170468 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java Map按Key值进行排序

map 
阅读更多
public class MapSortDemo {

    public static void main(String[] args) {

        Map<String, String> map = new TreeMap<String, String>();

        map.put("KFC", "kfc");
        map.put("WNBA", "wnba");
        map.put("NBA", "nba");
        map.put("CBA", "cba");

        Map<String, String> resultMap = sortMapByKey(map);    //按Key进行排序
//        Map<String, String> resultMap = sortMapByValue(map); //按Value进行排序

        for (Map.Entry<String, String> entry : resultMap.entrySet()) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
   
    /**
     * 使用 Map按value进行排序
     * @param map
     * @return
     */
    public static Map<String, String> sortMapByValue(Map<String, String> oriMap) {
        if (oriMap == null || oriMap.isEmpty()) {
            return null;
        }
        Map<String, String> sortedMap = new LinkedHashMap<String, String>();
        List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(
                oriMap.entrySet());
        Collections.sort(entryList, new MapValueComparator());

        Iterator<Map.Entry<String, String>> iter = entryList.iterator();
        Map.Entry<String, String> tmpEntry = null;
        while (iter.hasNext()) {
            tmpEntry = iter.next();
            sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());
        }
        return sortedMap;
    }
}



class MapValueComparator implements Comparator<Map.Entry<String, String>> {

    @Override
    public int compare(Entry<String, String> me1, Entry<String, String> me2) {

        return me1.getValue().compareTo(me2.getValue());
    }
}
分享到:
评论

相关推荐

    Java Map按键排序和按值排序

    Java Map按键排序和按值排序 可以java map按照key值排序

    Map参数按ASCII码排序

    将map按ASCII码排序,适用于将请求头的参数转为map,map内可再含有map,递归排序,无遗漏。运行demo里main方法即可进行验证。

    Java中对list map根据map某个key值进行排序的方法

    今天小编就为大家分享一篇Java中对list map根据map某个key值进行排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    对于java map类排序

    Object[] unsort_key = unsort_map.keySet().toArray(); Arrays.sort(unsort_key); for (int i = 0; i &lt; unsort_key.length; i++) { result.put(unsort_key[i].toString(), unsort_map.get(unsort_key[i])); }...

    java8 stream 操作map根据key或者value排序的实现

    主要介绍了java8 stream 操作map根据key或者value排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

    下面小编就为大家带来一篇Java Map 按key排序和按Value排序的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java Map 按Key排序实例代码

    主要介绍了Java Map 按Key排序实例代码的相关资料,需要的朋友可以参考下

    Java Map排序

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

    java中Map集合的排序方法

    HashMap的应用实例 ...2,当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置就是此对象准备往数组中存放的位置。 HashMap应用举例:控制台输入一句英语,简单统计各个单词出现的次数

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

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)...// TreeMap按自己的意愿进行排序,默认按key值升序排序。 另包含一篇网文:在java中使用TreeMap进行中文排序

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

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

    Java中Map数据处理公共方法MapUtils

    Map是Java中最天才的设计,使用起来也很灵活,该类总结了Map通过key和value进行升序和降序排序,Map的两种遍历的公共方法以及上面功能的测试方法

    List<Map>中英文排序

    支持一个List&lt;Map&gt;按照MAP中的一个或者多个Key的value值的中英文来排序,自动识别字符和数字(包括[a-zA-z]?[0-9]*)排序

    java程序-HashMap排序

    先根据value的值从小到大排序,value相同再根据key的字母顺序来排序

    Java词频统计算法(使用单词树)

    用Java实现的词频统计,代码。...首先查询Map的代价是O(logn),假设文章的字母数为m,则整个统计程序的时间复杂度为O(mlogn)不说,如果要拿高频词可能还需要对统计结果进行排序。即便对结构上进行优化性能仍然不高。

    set.list.map接口

    3.Map(映射&lt;集合&gt;)是无序的,是一种把键对象和值对象进行映射的集合,它每一个元素都包含一对键对象和值对象,给出键对象就可以得到值对象,键对象不允许重复,对值没有要求,多个任意键对象可以映射到一个值对象...

    Java中的Map集合

    1 Map双边队列 1.1 什么是Map 键(Key)值(Value)对 比如:表格:  键 :值  姓名:嘟嘟  年龄:16  性别:男 程序开发大部分数据都是键值对形式的 ... Map双边队列中键(Key)是唯一的,但是值(Value)可以重复 1

    Java中的Map接口——学习小结

    Map是Java集合中的三大接口之一,其存储形式为键(Key)值(Value)对,是程序开发中大部分数据存储时 所采用的存储形式。如:MySQL、JSON、XML。 Map形式称为双边队列,即Key与Value互相对应。但需要注意:Key是...

    数据分析—排序.pdf

    使⽤⾃定义 key 作为 map 输出的 key 类型 ⽅案⼆:⾃定义排序规则 1. ⾃定义类继承 WritableComparator 2. 重写⽗类⽆参构造⽅法,指定 key 的类型 super(Text.class, true); 3. 重写⽗类 compare...

    Hadoop大作业排序.zip

    由于 MapReduce 中对 key 进行比较和排序,而 key 可以是任何实 现了 Writable 接口的类。 在 java 中,要实现类的大小比较可以实现 Comparable 接口并通 过重写 compareTo 方法来实现。 在 Mapreduce 中,如果需要...

Global site tag (gtag.js) - Google Analytics