在Java中,List的groupBy方法通常是指使用Stream API中的groupBy方法對List中的元素進行分組操作。具體作用是將List中的元素按照指定的條件進行分組,并返回一個Map對象,其中key是分組條件,value是符合該條件的元素列表。
例如,假設有一個List包含多個學生對象,每個學生對象有姓名和年齡屬性,可以使用groupBy方法根據年齡進行分組,將相同年齡的學生放到同一個列表中。這樣可以方便地對數據進行分類和統計分析。
示例代碼如下:
List<Student> students = Arrays.asList(
new Student("Alice", 20),
new Student("Bob", 22),
new Student("Charlie", 20),
new Student("David", 21)
);
Map<Integer, List<Student>> groupedByAge = students.stream()
.collect(Collectors.groupingBy(Student::getAge));
groupedByAge.forEach((age, studentList) -> {
System.out.println("Students with age " + age + ":");
studentList.forEach(student -> {
System.out.println("- " + student.getName());
});
});
上面的代碼將學生對象按照年齡進行分組,并輸出每個年齡段對應的學生列表。groupBy方法可以幫助簡化代碼邏輯,提高代碼的可讀性和維護性。