查询: 过滤下面的数据,在列表中查找每个月的最后一个日期。请注意,在这种情况下,数据中月份的最后一个日期可能与日历月的最后一个日期匹配,也可能不匹配。预期输出显示在第二个列表中。
研究:
- 我相信
TemporalAdjusters.lastDayOfMonth()
在这种情况下不会有帮助,因为列表中的最后一个日期可能与日历月的最后一个日期匹配,也可能不匹配。 - 我在 Stack Overflow 上检查了几个问题,也用 Google 搜索了,但我找不到与我需要类似的东西。
我希望这个问题很清楚,并为我指明了如何使用流来完成这一点,因为我不想使用for
循环。
样本数据:
日期 | 模型 | 开始 | 结尾 |
---|---|---|---|
27-11-1995 | 美国广播公司 | 241 | 621 |
27-11-1995 | XYZ | 3456 | 7878 |
28-11-1995 | 美国广播公司 | 242 | 624 |
28-11-1995 | XYZ | 3457 | 7879 |
29-11-1995 | 美国广播公司 | 243 | 627 |
29-11-1995 | XYZ | 3458 | 7880 |
1995 年 11 月 30 日 | 美国广播公司 | 244 | 630 |
1995 年 11 月 30 日 | XYZ | 3459 | 7881 |
01-12-1995 | 美国广播公司 | 245 | 633 |
01-12-1995 | XYZ | 3460 | 7882 |
04-12-1995 | 美国广播公司 | 246 | 636 |
04-12-1995 | XYZ | 3461 | 7883 |
27-12-1995 | 美国广播公司 | 247 | 639 |
27-12-1995 | XYZ | 3462 | 7884 |
28-12-1995 | 美国广播公司 | 248 | 642 |
28-12-1995 | XYZ | 3463 | 7885 |
29-12-1995 | 美国广播公司 | 249 | 645 |
29-12-1995 | XYZ | 3464 | 7886 |
01-01-1996 | 美国广播公司 | 250 | 648 |
01-01-1996 | XYZ | 3465 | 7887 |
02-01-1996 | 美国广播公司 | 251 | 651 |
02-01-1996 | XYZ | 3466 | 7888 |
29-01-1996 | 美国广播公司 | 252 | 654 |
29-01-1996 | XYZ | 3467 | 7889 |
30-01-1996 | 美国广播公司 | 253 | 657 |
30-01-1996 | XYZ | 3468 | 7890 |
31-01-1996 | 美国广播公司 | 254 | 660 |
31-01-1996 | XYZ | 3469 | 7891 |
需要输出:
日期 | 模型 | 开始 | 结尾 |
---|---|---|---|
1995 年 11 月 30 日 | 美国广播公司 | 244 | 630 |
1995 年 11 月 30 日 | XYZ | 3459 | 7881 |
29-12-1995 | 美国广播公司 | 249 | 645 |
29-12-1995 | XYZ | 3464 | 7886 |
31-01-1996 | 美国广播公司 | 254 | 660 |
31-01-1996 | XYZ | 3469 | 7891 |