java stream list对象的两个属性转map,一个为key,一个为value
时间: 2024-10-11 12:08:20 浏览: 56
Java lambda list转换map时,把多个参数拼接作为key操作
5星 · 资源好评率100%
在Java中,如果你有一个List对象,其中每个元素有两个属性需要转换成Map,你可以使用`Collectors.toMap()`方法配合Lambda表达式来实现这个操作。假设你有一个名为`Person`的对象列表,其中包含`name`和`age`属性,你可以这样做:
```java
import java.util.*;
import java.util.stream.Collectors;
class Person {
String name;
int age;
// constructor and getters/setters...
}
List<Person> personList = ... // 假设这是你的person列表
Map<String, Integer> map = personList.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
// 现在map中键值对的形式就是 {name: age}
```
这里,`Person::getName`和`Person::getAge`是Lambda表达式,它们分别对应于提取名字作为键和年龄作为值。这将创建一个新的Map,其中每个Person对象的名字映射到对应的年龄。
阅读全文