使用stream流来group by分组
时间: 2023-08-29 16:12:17 浏览: 108
Java8 stream 中利用 groupingBy 进行多字段分组求和案例
5星 · 资源好评率100%
好的,您可以使用Java 8中的Stream API来对集合进行分组。具体实现可以使用 `Collectors.groupingBy(...)` 方法。这个方法接受一个 `Function` 参数,用于定义分组规则。例如:
```java
List<String> words = Arrays.asList("apple", "banana", "cat", "dog", "elephant", "fox", "grape");
// 使用 Stream 分组
Map<Character, List<String>> groups = words.stream()
.collect(Collectors.groupingBy(word -> word.charAt(0)));
// 输出结果
System.out.println(groups);
```
输出结果应该是:
```
{a=[apple], b=[banana], c=[cat], d=[dog], e=[elephant], f=[fox], g=[grape]}
```
这里我们将 `words` 列表按首字母分组,得到了每个字母开头的单词列表。
阅读全文