Java8 stream分组
时间: 2023-10-27 18:08:06 浏览: 103
详解Java8 Collect收集Stream的方法
Java 8中的流(Stream)可以使用groupingBy方法进行分组。通过指定一个分类器函数(classifier function),它将根据指定的条件对元素进行分组。分类器函数将返回一个标识分组的键,然后将具有相同键的元素分组在一起。
下面是一个示例代码,展示如何使用groupingBy方法进行分组:
```java
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Alice");
Map<String, List<String>> groupedNames = names.stream()
.collect(Collectors.groupingBy(name -> name));
System.out.println(groupedNames);
```
上述代码将输出以下结果:
```
{Alice=[Alice, Alice], Bob=[Bob], Charlie=[Charlie]}
```
在这个例子中,我们将名字列表按照名字进行了分组。分类器函数通过返回名字本身作为键,将具有相同名字的元素分组在一起。
阅读全文