java steam.map取出其中的某些属性重新组成新的list的方法
时间: 2024-02-27 18:57:13 浏览: 135
可以使用stream中的map()方法将某些属性提取出来并重新组成新的list。比如,假设有如下的一个类Person:
```java
public class Person {
private String name;
private int age;
private String gender;
// 构造方法、getter/setter方法省略
}
```
现在有一个List<Person>,我们需要将其中的name属性提取出来并组成一个新的List<String>,可以使用如下的代码:
```java
List<Person> personList = new ArrayList<>();
// 添加Person对象到personList中
List<String> nameList = personList.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
其中,map()方法将Person对象映射成name属性,collect()方法将映射后的结果收集到一个新的List中。在map()方法中,我们使用了方法引用的方式(Person::getName)来提取name属性。如果使用Lambda表达式的方式,可以写成:
```java
List<String> nameList = personList.stream()
.map(person -> person.getName())
.collect(Collectors.toList());
```
阅读全文