java list根据日期分组
时间: 2023-10-07 18:07:56 浏览: 98
可以通过Java 8的Stream API和Collectors.groupingBy()方法来根据日期对List进行分组。以下是示例代码:
假设有一个包含日期的List对象:
```java
List<Date> dates = Arrays.asList(
new Date(2022, 1, 1),
new Date(2022, 1, 2),
new Date(2022, 2, 1),
new Date(2022, 2, 2),
new Date(2022, 3, 1),
new Date(2022, 3, 2)
);
```
可以通过以下代码将List对象按照月份进行分组:
```java
Map<Integer, List<Date>> groupedDates = dates.stream()
.collect(Collectors.groupingBy(date -> date.getMonth()));
```
这将返回一个Map对象,其中键为月份(0表示1月,1表示2月,以此类推),值为该月份下的所有日期。可以通过迭代Map对象来访问每个月份下的日期,例如:
```java
for (Map.Entry<Integer, List<Date>> entry : groupedDates.entrySet()) {
int month = entry.getKey();
List<Date> datesInMonth = entry.getValue();
System.out.println("Month " + month + ": " + datesInMonth);
}
```
这将打印出每个月份下的日期列表。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)