java list 转map
时间: 2023-09-23 13:06:36 浏览: 103
java转换xmllistmap和json
在Java中,将List转换为Map可以使用Java 8的Stream API中的Collectors.toMap方法。该方法接受一个Function作为参数,用于指定键的提取方式,并返回一个新的Map对象。同时,可以使用lambda表达式来处理键的重复情况和值为null的情况。以下是一个例子:
```java
List<Person> list = Arrays.asList(
new Person("1", "Alice"),
new Person("2", "Bob"),
new Person("3", "Charlie")
);
Map<String, String> map = list.stream()
.collect(Collectors.toMap(Person::getId, Person::getName));
System.out.println(map);
```
上述代码将一个名为Person的类的List转换为了一个以id为键、name为值的Map。输出结果为:{1=Alice, 2=Bob, 3=Charlie}。
在上述例子中,通过Person::getId和Person::getName方法引用来指定了键和值的提取方式。如果List中存在重复的键,可以使用lambda表达式来指定如何处理重复键的值。例如,可以使用value1.addAll(value2)来将重复键的值合并为一个List。
请注意,上述代码中的Person类是一个自定义的类,你可以根据自己的实际需求来定义和使用。同时,你也可以根据具体需求来修改键和值的提取方式和处理逻辑。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [List转Map的三种方法](https://blog.csdn.net/zhangruibo_code/article/details/107046341)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [高级java开发集合问题](https://download.csdn.net/download/tgh5330992/88227020)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文