java8list集合javabean怎么转map,重复key
时间: 2024-05-05 09:21:43 浏览: 92
可以使用Java 8的stream和Collectors来将JavaBean转换为Map。如果存在重复的key,则可以使用Collectors.toMap()方法的第三个参数来指定如何处理冲突。
以下是一个示例代码:
```java
import java.util.*;
import java.util.stream.Collectors;
public class JavaBeanToMapExample {
public static void main(String[] args) {
List<Person> persons = Arrays.asList(
new Person("John", 30),
new Person("Jane", 25),
new Person("John", 40)
);
Map<String, Integer> map = persons.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge, (age1, age2) -> age1 + age2));
System.out.println(map);
}
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
```
输出结果为:
```
{John=70, Jane=25}
```
在上面的示例中,我们使用了Person类作为JavaBean。使用stream和Collectors.toMap()方法将Person对象转换为Map对象,并且将重复的key的age相加作为新的value。
阅读全文