java给list中map中日期的排序

 

 

public static void main(String[] args) {
        HashMap<String,String> m = new HashMap<>();
        HashMap<String,String> mm = new HashMap<>();
        HashMap<String,String> mmm = new HashMap<>();

        m.put("time","2023-05-19 14:24:56");
        m.put("data","mData");
        mm.put("time","2023-05-19 14:27:56");
        mm.put("data","mmData");
        mmm.put("time","2023-05-18 13:24:56");
        mmm.put("data","mmmData");

        List<HashMap<String, String>> list = Arrays.asList(m, mm, mmm);
        //  string类型直接排序
        //倒叙
        list.sort(Comparator.comparing((Map<String, String> h) -> (h.get("time"))).reversed());
        //正序
        list.sort(Comparator.comparing((Map<String, String> h) -> (h.get("time"))));

        
        //日期格式 先转换类型
        HashMap<String,Object> ma = new HashMap<>();
        List<HashMap<String, Object>> maList = Arrays.asList(ma);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //倒叙
        maList.sort(Comparator.comparing((Map<String, Object> h) -> (sdf.format( h.get("date")))).reversed());
        //正序
        maList.sort(Comparator.comparing((Map<String, Object> h) -> (sdf.format( h.get("date")))));
        
    }

 

posted @ 2023-05-18 21:41  zagwk  阅读(617)  评论(0)    收藏  举报