import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class DateGroupingExample2 {
public static void main(String[] args) {
List<MyObject> list = List.of(
new MyObject(LocalDate.of(2023, 1, 15), "对象1"),
new MyObject(LocalDate.of(2023, 1, 20), "对象2"),
new MyObject(LocalDate.of(2023, 2, 10), "对象3")
);
// 使用字符串格式分组(yyyy-MM)
Map<String, List<MyObject>> groupedByMonth = list.stream()
.collect(Collectors.groupingBy(
obj -> obj.getDate().format(DateTimeFormatter.ofPattern("yyyy-MM"))
));
groupedByMonth.forEach((month, objects) -> {
System.out.println(month + ": " + objects.size() + "个对象");
});
}
}