繁体   English   中英

从 stream 分组中获取唯一日期列表

[英]get a list of unique date from the stream grouping

我有数据:

id|date
1 |12-12-2021
2 |12-12-2021
3 |13-12-2021

想要获取日期列表:["12-12-2021", "13-12-2021"]

使用 stream,我可以得到 map:

txs.stream().collect(Collectors.groupingBy(g -> g.getDate()));

我想从上面的 stream 转换为列表。

groupingBy不是您的最佳选择。 改用distinct 它将自动过滤掉所有重复项。

txs.stream().map(g -> g.getDate()).distinct().collect(Collectors.toList());

如果您在Map<Integer,LocalDate>中有数据,则可以使用values()并收集到Set以消除重复项

Set<LocalDate> dates = txs.values().stream().collect(Collectors.toSet())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM