java通过stream流的形式把列表中某个字段的值取出并生成列表
时间: 2023-02-06 07:16:48 浏览: 145
可以使用Java 8中引入的Stream API来实现这一功能。例如,假设你有一个类名为Person的列表,并且你想要从这个列表中提取所有人的姓名并生成一个新的列表。你可以这样做:
```
List<Person> people = ...;
List<String> names = people.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
这段代码首先使用`stream()`方法将列表转换为流。然后,使用`map()`方法对流中的每个元素执行一个转换函数,将每个Person对象转换为一个字符串。最后,使用`collect()`方法将转换后的流转换回列表。
你也可以使用自定义的函数来进行转换,例如:
```
List<Person> people = ...;
List<String> names = people.stream()
.map(p -> p.getFirstName() + " " + p.getLastName())
.collect(Collectors.toList());
```
这样就可以使用stream流的形式将列表中某个字段的值取出并生成新的列表了。
阅读全文