gpt4 book ai didi

java - 分组并从 map 中获取最新的月份数据

转载 作者:行者123 更新时间:2023-11-29 06:50:34 25 4
gpt4 key购买 nike

我有一张 map 如下:

rupFeedDC.forEach(rl -> rl.getTransactionDate()
.toLocalDateTime()
.truncatedTo(ChronoUnit.DAYS));

Map<Timestamp, List<STUP>> timestampListMap =
rupFeedDC.stream()
.collect(Collectors.groupingBy(STUP::getTransactionDate));

现在,我想获取包含最新月份的日期。

例如:对于 map :

map.put("23/04/2017", someList);
map.put("21/04/2017", someList);
map.put("03/03/2017", someList);
map.put("04/02/2017", someList);
map.put("09/01/2017", someList);

我只想拥有键“23/04/2017”,因为它包含最近的月份。任何人都可以建议我为此做些什么吗?

最佳答案

因为您的 key 是 java.sql.Timestamp,您可以利用它实现 Comparable 的事实。修改您的流管道以生成一个 TreeMap(其中的键按升序排序),最后一个键将是最新的时间戳:

TreeMap<Timestamp, List<STUP>> timestampListMap =
rupFeedDC.stream()
.collect(Collectors.groupingBy(STUP::getTransactionDate,
TreeMap::new,
Collectors.toList()));
Timestamp last = timestampListMap.lastKey();

关于java - 分组并从 map 中获取最新的月份数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49727385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com