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"))))); }