java中使用stream往集合对象添加属性值
时间: 2023-09-02 19:14:07 浏览: 107
可以使用Java 8中的Stream API来往集合对象中添加属性值。下面是一个示例代码:
假设有一个Person类,包含姓名和年龄两个属性:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
现在有一个List<Person>对象,我们想把所有人的年龄都加上10,可以使用如下代码:
```
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice", 20));
personList.add(new Person("Bob", 30));
personList.add(new Person("Charlie", 40));
personList.stream()
.forEach(person -> person.setAge(person.getAge() + 10));
System.out.println(personList);
```
输出结果为:
```
[Person{name='Alice', age=30}, Person{name='Bob', age=40}, Person{name='Charlie', age=50}]
```
可以看到,所有人的年龄都加上了10。在Stream API中,我们使用forEach方法来遍历集合中的元素,然后使用Lambda表达式来修改每个元素的属性值。
阅读全文