要按日期分组的Java代码,您可以使用Java 8中的Stream API和java.time包中的日期类来实现。以下是一个示例代码:
import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupByDateExample {
public static void main(String[] args) {
// 创建一个包含日期的列表
List dates = Arrays.asList(
LocalDate.parse("2022-01-01"),
LocalDate.parse("2022-01-02"),
LocalDate.parse("2022-01-01"),
LocalDate.parse("2022-01-03"),
LocalDate.parse("2022-01-02")
);
// 按日期分组
Map> groupedDates = dates.stream()
.collect(Collectors.groupingBy(LocalDate::toLocalDate));
// 打印每个日期组的元素
for (Map.Entry> entry : groupedDates.entrySet()) {
System.out.println("日期: " + entry.getKey());
System.out.println("元素: " + entry.getValue());
System.out.println("---");
}
}
}
输出将是:
日期: 2022-01-01
元素: [2022-01-01, 2022-01-01]
---
日期: 2022-01-02
元素: [2022-01-02, 2022-01-02]
---
日期: 2022-01-03
元素: [2022-01-03]
---
这个例子创建了一个包含日期的列表,并使用Collectors.groupingBy
方法按日期进行分组。然后,使用Map的entrySet方法迭代分组后的结果,并打印每个日期组的元素。
上一篇:按日期分组的查询
下一篇:按日期分组的结果与预期不符。