在Java中,可以使用流操作來對數據進行分組。一種常見的方法是使用Collectors.groupingBy()方法來對數據流進行分組操作。示例如下:
假設有一個包含Person對象的數據流,每個Person對象有一個age屬性,現在想要將數據流按照age屬性進行分組操作,可以使用以下代碼:
List<Person> personList = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Cathy", 25),
new Person("David", 40)
);
Map<Integer, List<Person>> groupedByAge = personList.stream()
.collect(Collectors.groupingBy(Person::getAge));
groupedByAge.forEach((age, persons) -> {
System.out.println("Age: " + age);
persons.forEach(person -> System.out.println(person.getName()));
});
在上面的示例中,使用Collectors.groupingBy()方法將Person對象按照age屬性進行分組操作,得到了一個Map<Integer, List