java如何按日期对以TreeMap为值的ArrayList进行排序 2 周,1 日 Questions & Answers 584 在我的代码中有ArrayList<TreeMap<String, Object>>。{}将拥有的是键和值。有一个名为sent_date的键,其值的格式为yyyy-MM-DD HH:MM:SS。我找不到一个方法来排序这个列表。。。有人能帮忙吗?谢谢
# 1 楼答案 在Java8中,这将是(对于修改列表的排序): DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); list.sort(Comparator.comparing(m -> LocalDateTime.parse(m.get("sent_date"), format))); 或者,如果您想保留原始列表: newList = list.stream() .sorted(Comparator.comparing(...)) .collect(Collectors.toList());
# 2 楼答案 您可以使用Collections.sort(list, comparator),在这里您必须实现一个Comparator<Map<String,?>>来执行您需要的操作(即从两个映射中检索sent_date,并比较它们)
# 1 楼答案
在Java8中,这将是(对于修改列表的排序):
或者,如果您想保留原始列表:
# 2 楼答案
您可以使用
Collections.sort(list, comparator)
,在这里您必须实现一个Comparator<Map<String,?>>
来执行您需要的操作(即从两个映射中检索sent_date
,并比较它们)