在Java中,可以使用流操作來(lái)對(duì)數(shù)據(jù)進(jìn)行分組。一種常見(jiàn)的方法是使用Collectors.groupingBy()方法來(lái)對(duì)數(shù)據(jù)流進(jìn)行分組操作。示例如下:
假設(shè)有一個(gè)包含Person對(duì)象的數(shù)據(jù)流,每個(gè)Person對(duì)象有一個(gè)age屬性,現(xiàn)在想要將數(shù)據(jù)流按照age屬性進(jìn)行分組操作,可以使用以下代碼:
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對(duì)象按照age屬性進(jìn)行分組操作,得到了一個(gè)Map<Integer, List