java中stream groupby怎么使用

56次阅读
没有评论

共计 637 个字符,预计需要花费 2 分钟才能阅读完成。

在 Java 中,使用 Stream 的 groupBy 方法可以对 Stream 中的元素进行分组操作。groupBy 方法接受一个 Function 作为参数,该函数用于提取元素的键值,并返回一个 Map 对象,其中键是分组的值,值是属于该分组的元素列表。

示例如下:

假设有一个包含 Person 对象的 List,每个 Person 对象有一个 age 属性,我们想按照 age 属性进行分组:

List<Person> persons = Arrays.asList(new Person("Alice", 25),
    new Person("Bob", 30),
    new Person("Charlie", 25),
    new Person("David", 30)
);

Map<Integer, List<Person>> groupedByAge = persons.stream()
    .collect(Collectors.groupingBy(Person::getAge));

groupedByAge.forEach((age, people) -> {System.out.println("Age " + age + ": " + people);
});

在这个例子中,我们首先使用 stream 方法将 List 转换为 Stream,然后使用 collect 方法和 groupingBy 方法进行分组操作。最后,我们通过 forEach 方法遍历每个分组,并输出结果。

注意:在上面的例子中,Person 类需要实现一个 getAge 方法来获取年龄属性。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-02-27发表,共计637字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)