java 8 stream 获得List对象中的多个属性 重新生成List
时间: 2024-05-03 15:21:31 浏览: 14
可以使用 map() 方法将原始 List 中的每个对象转换为一个新的对象,该新对象包含所需的多个属性。然后,使用 collect() 方法将这些新对象收集到一个新的 List 中。
示例代码:
```
List<Person> persons = ...
List<String> names = persons.stream()
.map(person -> person.getName())
.collect(Collectors.toList());
List<Integer> ages = persons.stream()
.map(person -> person.getAge())
.collect(Collectors.toList());
List<PersonInfo> infos = persons.stream()
.map(person -> new PersonInfo(person.getName(), person.getAge()))
.collect(Collectors.toList());
```
在上面的示例中,我们首先使用 map() 方法将每个 Person 对象转换为它的 name 或 age 属性。然后,我们使用 collect() 方法将转换后的结果收集到一个新的 List 中。
注意,在第三个示例中,我们创建了一个新的 PersonInfo 对象,该对象包含 Person 对象的 name 和 age 属性。然后,我们将这些 PersonInfo 对象收集到一个新的 List 中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)