stream如何根据某个字段分组
时间: 2023-10-18 11:57:07 浏览: 58
根据提供的引用内容,有两种方法可以使用Stream按照某个字段进行分组。
方法一是使用groupingBy方法,首先将流中的元素按照指定字段进行分组,然后对每个分组内的元素按照另一个字段进行排序。具体代码如下:
```java
Map<String, List<Student>> map = list.stream().collect(Collectors.groupingBy(Student::getName));
for (Map.Entry<String, List<Student>> entry : map.entrySet()) {
entry.getValue().sort(Comparator.comparing(Student::getScore));
}
```
方法二是在groupingBy方法的基础上使用collectingAndThen方法,先分组,再对每个分组内的元素按照指定字段进行排序。具体代码如下:
```java
Map<String, List<Student>> map = list.stream().collect(Collectors.groupingBy(Student::getName, HashMap::new, Collectors.collectingAndThen(Collectors.toList(),
list -> list.stream().sorted(Comparator.comparing(Student::getScore)).collect(Collectors.toList())
)));
```
以上是根据提供的引用内容,使用Stream按照某个字段进行分组的两种方法。<span class="em">1</span>
#### 引用[.reference_title]
- *1* [stream根据某个字段进行分组统计](https://blog.csdn.net/zp0926/article/details/131072074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)