zoukankan      html  css  js  c++  java
  • Map的内容按字母顺序排序

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

    package coreJava.com.shindo.corejava.map;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    public class MapSort {
        /**
         * 
         * @Title: sortMap
         * @Description: 对集合内的数据按key的字母顺序做排序
         */
        public List<Map.Entry<String, String>> sortMap(final Map<String, String> map) {
            final List<Map.Entry<String, String>> infos = new ArrayList<Map.Entry<String, String>>(map.entrySet());
    
            // 重写集合的排序方法:按字母顺序
            Collections.sort(infos, new Comparator<Map.Entry<String, String>>() {
                @Override
                public int compare(final Entry<String, String> o1, final Entry<String, String> o2) {
                    return (o1.getKey().toString().compareTo(o2.getKey()));
                }
            });
    
            return infos;
        }
    
        public static void main(final String[] args) {
            final Map<String, String> map = new HashMap<String, String>();
            map.put("charSet", "utf-8");
            map.put("merId", "5412");
            map.put("acqId", "321");
    
            final List<Map.Entry<String, String>> list = new MapSort().sortMap(map);
    
            for (final Map.Entry<String, String> m : list) {
                System.out.println(m.getKey() + ":" + m.getValue());
            }
    
        }
    
    }

    执行main方法,结果如下:

    acqId:321
    charSet:utf-8
    merId:5412
  • 相关阅读:
    mysql
    关于的字符串的总结(群,子群,KMP算法,正则表达式):
    正则表达式中[],,B的用法:
    链表
    numpy学习笔记
    算法的笔记 -概念性初始
    单线程实现了多任务异步协程
    windows安装redis出现的小问题
    将虚拟机的ip改为静态
    nosql与mysql的区别?
  • 原文地址:https://www.cnblogs.com/shindo/p/5900472.html
Copyright © 2011-2022 走看看