Java8按月分组List对象

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() + "个对象");
        });
    }
}

 

posted @ 2025-11-25 11:39  红尘沙漏  阅读(8)  评论(0)    收藏  举报