zoukankan      html  css  js  c++  java
  • 根据List<Map<String, String>>中map的value值(比如时间),然后对list中的若干个map进行排序

    使用for循环进行排序

    废话不多BB,代码贴上:(直接复制粘贴运行即可)

    package com.java;
    
    import org.junit.Test;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 使用for循环进行排序
     * 说明:根据List<Map<String, String>>中map的value值(比如时间),然后对list中的若干个map进行排序
     * <b>项目名称:</b>Java-Daily-Train<br>
     * <b>类名称:</b>com.java.listMapSortTest<br>
     * <b>创建人:</b>hasee<br>
     * <b>类描述:</b><br>
     * <b>创建时间:</b>2020-07-29 14:09<br>
     */
    public class ListMapSortTest {
        @Test
        public void Sort() throws ParseException {
            //创建对象
            Map<String, Object> A = new HashMap<String, Object>();
            Map<String, Object> B = new HashMap<String, Object>();
            Map<String, Object> C = new HashMap<String, Object>();
            Map<String, Object> D = new HashMap<String, Object>();
            Map<String, Object> E = new HashMap<String, Object>();
            List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    
            //初始化
            A.put("time", "2020-09-01 12:12:00");
            B.put("time", "2020-09-02 13:12:01");
            C.put("time", "2020-09-02 12:12:00");
            D.put("time", "2020-09-03 12:12:00");
            E.put("time", "2020-09-04 12:12:00");
            listMap.add(A);
            listMap.add(B);
            listMap.add(C);
            listMap.add(D);
            listMap.add(E);
    
            //排序前,打印输出
            System.out.println("排序前,打印输出----开始----");
            for (Map<String, Object> map : listMap) {
                for (String key : map.keySet()) {
                    System.out.println(key + ":" + map.get(key));
                }
            }
    
            //使用for循环,按最新的时间进行排序
            for (int i = 0; i < listMap.size(); i++) {
                for (int j = 0; j < listMap.size() - 1 - i; j++) {
                    if (df.parse((String) listMap.get(j).get("time")).getTime() < df.parse((String) listMap.get(j + 1).get("time")).getTime()) {
                        Map<String, Object> Temp = listMap.get(j);
                        listMap.set(j, listMap.get(j + 1));
                        listMap.set(j + 1, Temp);
                    }
                }
            }
            //排序后,打印输出
            System.out.println("排序后,打印输出----开始----");
            for (Map<String, Object> map : listMap) {
                for (String key : map.keySet()) {
                    System.out.println(key + ":" + map.get(key));
                }
            }
        }
    }
    
  • 相关阅读:
    不上大学遗撼,上过大学后悔
    消息队列(MSMQ)实现多服务器应用程序之间消息实时交互
    抓取网页源代码
    用asp.net显示在线登陆人数及位置
    原版对XML文档的读写
    C#.NET实现经典排序算法
    深入剖析C#继承机制
    ASP.NET长文章分页
    人民币小写金额转化成大写金额
    GridView和DataFormatString
  • 原文地址:https://www.cnblogs.com/tzeyeung/p/13531317.html
Copyright © 2011-2022 走看看