map有自带的排序功能,但需要重写排序方法,代码如下:

  1. package coreJava.com.shindo.corejava.map;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.Comparator;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. import java.util.Map.Entry;
  10.  
  11. public class MapSort {
  12. /**
  13. *
  14. * @Title: sortMap
  15. * @Description: 对集合内的数据按key的字母顺序做排序
  16. */
  17. public List<Map.Entry<String, String>> sortMap(final Map<String, String> map) {
  18. final List<Map.Entry<String, String>> infos = new ArrayList<Map.Entry<String, String>>(map.entrySet());
  19.  
  20. // 重写集合的排序方法:按字母顺序
  21. Collections.sort(infos, new Comparator<Map.Entry<String, String>>() {
  22. @Override
  23. public int compare(final Entry<String, String> o1, final Entry<String, String> o2) {
  24. return (o1.getKey().toString().compareTo(o2.getKey()));
  25. }
  26. });
  27.  
  28. return infos;
  29. }
  30.  
  31. public static void main(final String[] args) {
  32. final Map<String, String> map = new HashMap<String, String>();
  33. map.put("charSet", "utf-8");
  34. map.put("merId", "5412");
  35. map.put("acqId", "321");
  36.  
  37. final List<Map.Entry<String, String>> list = new MapSort().sortMap(map);
  38.  
  39. for (final Map.Entry<String, String> m : list) {
  40. System.out.println(m.getKey() + ":" + m.getValue());
  41. }
  42.  
  43. }
  44.  
  45. }

执行main方法,结果如下:

  1. acqId:321
  2. charSet:utf-8
  3. merId:5412

Map的内容按字母顺序排序的更多相关文章

  1. 【C++ 字符串题目】 输入三个人名,按字母顺序排序输出

    题目来源:https://acm.ujn.edu.cn Problem A: [C++ 字符串] 输入三个人名,按字母顺序排序输出 Time Limit: 1 Sec  Memory Limit: 1 ...

  2. 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)

    因公司业务需要,自己写了一个,保存起来以后可能还会用到.如果还有更好的方法或者算法,希望大家提出来. 1.简单的相似度算法(自己想到的)      因为List中每个String都会包含一个标准的字符 ...

  3. mysql如何给汉字按照首字母顺序排序

    select * from 表名 order by convert(列明 USING gbk) COLLATE gbk_chinese_ci asc

  4. 按字母顺序排序的 arcpy.mapping 类列表

    arcpy.mapping 类可使用地图文档 (.mxd) 或图层文件 (.lyr) 中的不同对象类型的各种方法和属性.此文档可专门用作快速参考.有关详细信息,请使用链接跳转至各帮助页面. arcpy ...

  5. url参数用&拼接并且按照字母顺序排序方法

    private string urlParamManager(JObject postArray, bool flag) { ArrayList keys = new ArrayList(); for ...

  6. sql按照汉字首字母顺序排序(桃)

    SELECT * FROM 表名 order by CONVERT(字段名 USING gbk)

  7. java算法面试题:有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数 按值的降序排序,如果值相同则按键值的字母顺序

    package com.swift; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; publi ...

  8. LinkedHashMap 根据PUT顺序排序Map

    最近工程里面报表需要合计 , 因为所有的项都是动态的,所以只能动态添加. 思路是使用Map,初始化所有Map,然后在Map中合计并且覆盖. 使用HashMap , 初始化后所有动态项的顺序都乱了. M ...

  9. 对Array进行排序(按字母顺序)

    通过使用java.utils.Arrays.sort()和String.CASE_INSENSITIVE_OREDR,可以很容易的对结果进行排序(按字母顺序): String[] array = { ...

随机推荐

  1. android避免decodeResource图片时占用太大的内存

    增加largeHeap="true"属性. android:largeHeap Whether your application's processes should be cre ...

  2. iOS 音频开发经验汇总

    一.音乐播放类概念 iOS 下能支持歌曲和声音播放的的类有几个: SystemSound AVFoundtion库中的AVAudioPlayer #重要 MediMPMusicPlayerContro ...

  3. DefaultResouceLoader的设计

    它是什么 DefaultResourceLoader是Spring中的ResourceLoader的默认实现类,也是AbstractApplicationContext的父类,它也可以单独使用,用来从 ...

  4. Word01-从正文处开始插入页码

    一份正式的文档应该由以下几部分组成:封面.目录.摘要.正文…… 现在要求前三页不需要插入页码,从正文部分插入页码为第一页,原文档如下: 步骤: 第一步:将光标移动到摘要页的末尾,选择页面部局--> ...

  5. swift和oc混编

    请参考这篇博客:点击查看

  6. (转)ip地址,手机ip查询

    页面地址:http://www.ip138.com/ 外链地址(实际主页面里面有)http://www.ip138.com/iplink.htm 外链地址里面的内容: <FORM METHOD= ...

  7. displaytag 动态列实现

    这种动态列的实现方法来自displaytag-examples-1.2.war提供的示例中,实际上下载下来的zip文件中不仅有各种jar包,还有这个包含各种例子的war包,是学习displaytag的 ...

  8. ORACLE模拟临时文件、日志成员、口令文件丢失情况与恢复【weber出品】

    一.临时表空间文件.日志文件和口令文件都属于非关键性文件,因为这些文件丢失后并不会影响到整个数据库的完整性. 但是,当这些文件丢失后我们需要快速的找回这些文件.接下来我将模拟临时表空间文件.日志文件和 ...

  9. 武汉科技大学ACM :1004: C语言程序设计教程(第三版)课后习题6.3

    Problem Description 求Sn=2+22+222+…+22…222(有n个2)的值. 例如:2+22+222+2222+22222(n=5),n由键盘输入. Input n Outpu ...

  10. uva 10963 - The Swallowing Ground

    #include <iostream> #include <cstdio> #include <cstdlib> #include <set> usin ...