stream流设置某一属性
时间: 2024-11-04 07:09:04 浏览: 39
在Java 8及以后版本中,Stream API提供了一种高效处理集合数据的方式。如果你想通过Stream对集合中的元素设置某个属性,可以使用`forEach`、`map`或`forEachOrdered`等方法配合Lambda表达式。
例如,假设有一个Person对象列表,你想将每个人的年龄增加一岁:
```java
List<Person> people = ...; // 初始化一些Person对象
// 使用forEach设置每个Person对象的age属性
people.stream()
.forEach(person -> person.setAge(person.getAge() + 1));
```
在这个例子中,`setAge`是一个setter方法,Lambda表达式`person -> person.setAge(person.getAge() + 1)`接收每个Person对象作为输入,并更新其年龄。`forEach`会遍历整个集合并应用这个操作到每个元素上。
如果你想创建一个新的stream,而不是修改原集合,可以使用`map`:
```java
List<Person> updatedPeople = people.stream()
.map(person -> new Person(person.getName(), person.getAge() + 1))
.collect(Collectors.toList());
```
这里,每个Person对象的新实例(age加一)会被添加到新的列表`updatedPeople`中。
阅读全文
相关推荐


















