Collectors.groupingBy treeMap
时间: 2023-10-12 18:04:11 浏览: 158
使用Collectors.groupingBy方法可以对集合中的项目进行分组,并返回一个Map对象,其中键是分组的属性值,值是属于该分组的项目列表。如果希望结果按照键进行排序,可以使用TreeMap作为第二个参数传递给groupingBy方法。示例如下:
```
Map<Integer, List<People>> stationMap = peopleList.stream()
.collect(Collectors.groupingBy(People::getJgId, TreeMap::new, Collectors.toList()));
```
在上述示例中,peopleList是一个People对象的列表,通过stream流的方式将列表转换为Map,键是People对象的JgId属性值,值是属于该分组的People对象列表。使用TreeMap作为第二个参数,可以确保结果按照键的自然排序进行排序。
如果你希望结果按照键的降序进行排序,可以使用descendingMap方法将结果反转:
```
Map<Integer, List<People>> descendingMap = peopleList.stream()
.collect(Collectors.groupingBy(People::getJgId, TreeMap::new, Collectors.toList()))
.descendingMap();
```
以上是使用Collectors.groupingBy方法和TreeMap对集合进行分组并按照键进行排序的示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Stream流分组,时间分组-Collectors.groupingBy()](https://blog.csdn.net/weixin_42704812/article/details/127776278)[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: 50%"]
- *3* [Crystal.Collectors.Game:水晶收藏家的故事](https://download.csdn.net/download/weixin_42138780/18603430)[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: 50%"]
[ .reference_list ]
阅读全文