stream流 把一个list<对象>某些元素赋值后转换成另一个list对象
时间: 2023-11-26 21:02:27 浏览: 80
java8 stream 由一个list转化成另一个list案例
可以使用Java 8的Stream API来实现这个需求。以下是一个示例代码:
假设我们有一个Person类,其中包含id、name和age三个属性:
```
public class Person {
private int id;
private String name;
private int age;
// 构造函数、getter和setter方法省略
}
```
现在我们有一个包含多个Person对象的List,我们要把其中年龄大于等于18岁的Person对象的名字改成"成年人",并转换成另一个List,可以使用以下代码:
```
List<Person> persons = ...; // 假设已经初始化了Persons列表
List<Person> adultPersons = persons.stream()
.filter(p -> p.getAge() >= 18) // 过滤出年龄大于等于18岁的Person对象
.peek(p -> p.setName("成年人")) // 把名字改成"成年人"
.collect(Collectors.toList()); // 转换成List对象
```
上述代码中,首先调用`stream()`方法把List转换成Stream对象,然后通过`filter()`方法过滤出符合条件的元素,再通过`peek()`方法对每个元素执行指定的操作,最后通过`collect()`方法把Stream转换成List对象。
阅读全文