1. 程式人生 > 實用技巧 >集合根據物件時間屬性按年月分組

集合根據物件時間屬性按年月分組

 public static void main(String[] args) {
        List<Student> list = new ArrayList<>();
        list.add(new Student("A",10,LocalDateTime.now()));
        list.add(new Student("B",11,LocalDateTime.now().minus(2, ChronoUnit.MONTHS)));
        list.add(new Student("C",12,LocalDateTime.now().minus(2, ChronoUnit.MONTHS)));
        list.add(
new Student("D",13,LocalDateTime.now().minus(3, ChronoUnit.MONTHS))); Map<String, List<Student>> map = list.stream().collect(Collectors.groupingBy(t -> t.getDateTime().format(DateTimeFormatter.ofPattern("yyyy-MM")))); } static class Student{ private String name;
private Integer age; private LocalDateTime dateTime; public Student(String name, Integer age, LocalDateTime dateTime) { this.name = name; this.age = age; this.dateTime = dateTime; } public String getName() { return name; }
public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public LocalDateTime getDateTime() { return dateTime; } public void setDateTime(LocalDateTime dateTime) { this.dateTime = dateTime; } }