对象stream 转map
时间: 2023-08-10 12:04:03 浏览: 105
对象stream转map可以使用stream流式操作和stream流简化操作两种方式。在stream流式操作中,可以使用collect方法和Collectors.toMap方法将stream转换为map。例如,可以使用以下代码将一个对象列表转换为以对象的id作为key,对象本身作为value的map:
Map<Integer, User> map1 = list.stream()
.collect(Collectors.toMap(User::getId, Function.identity()));
在stream流简化操作中,可以使用collect方法和HashMap的put方法将stream转换为map。例如,可以使用以下代码将一个对象列表转换为以对象的id作为key,对象本身作为value的map:
HashMap<Integer, User> map2 = list.stream()
.collect(HashMap::new, (m, v) -> m.put(v.getId(), v), HashMap::putAll);
以上是两种常用的方式,具体选择哪种方式取决于个人的喜好和需求。
#### 引用[.reference_title]
- *1* *2* [java 集合对象转map的几种方式(stream流)](https://blog.csdn.net/ning0er/article/details/123874049)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Stream转map排序,分组,求和等](https://blog.csdn.net/CNDS_utf_8/article/details/128247246)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文