Java Stream 分组操作详解 - 使用 Collectors.groupingBy() 方法
Java 的 Stream 中可以使用 collect(Collectors.groupingBy()) 方法进行分组操作。该方法接收一个 Function 作为参数,用于对 Stream 中的元素进行分组。
示例代码:
List<Person> persons = new ArrayList<>();
persons.add(new Person('Tom', 20));
persons.add(new Person('Jerry', 25));
persons.add(new Person('Lucy', 20));
Map<Integer, List<Person>> groupByAge = persons.stream()
.collect(Collectors.groupingBy(Person::getAge));
System.out.println(groupByAge);
该示例中,我们定义了一个 Person 类,包含 name 和 age 两个属性。接着,我们创建了一个 persons 列表,其中包含三个 Person 对象。我们使用 Stream 的 collect 方法,调用 groupingBy 方法,将元素按照 age 属性进行分组,最终得到一个 Map<Integer, List
输出结果为:
{20=[Person{name='Tom', age=20}, Person{name='Lucy', age=20}], 25=[Person{name='Jerry', age=25}]}
可以看到,我们按照 age 属性成功将元素进行了分组。
原文地址: https://www.cveoy.top/t/topic/lrg5 著作权归作者所有。请勿转载和采集!