可以使用Java8的流操作来筛选出最大的时间值和对应的map对象,代码如下:

Optional<Map<String, String>> maxDatetimeMap = memberList.stream()
        .max(Comparator.comparing(m -> LocalDateTime.parse(m.get("datetime"), DateTimeFormatter.ISO_DATE_TIME)));
if (maxDatetimeMap.isPresent()) {
    String maxDatetime = maxDatetimeMap.get().get("datetime");
    System.out.println("最大时间:" + maxDatetime);
}

解释一下代码:

  1. 调用stream()方法将memberList转换成流对象;
  2. 调用max()方法并传入一个比较器,该比较器按照datetime字段的值进行比较,返回最大的map对象;
  3. 使用Optional类来处理可能为空的情况,如果最大的map对象存在,则获取其中的datetime字段的值,即最大时间
ListMapString String memberList 不为空时其中map里面有一个时间字段叫datetime怎么筛选出这个memberList中datetime字段最大的值并获取这个时间

原文地址: https://www.cveoy.top/t/topic/cQZr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录