java中使用stream往集合对象添加多个属性值
时间: 2023-09-02 21:15:47 浏览: 224
Java面向对象、集合框架和GC机制
可以使用Java 8中的Stream API和lambda表达式来添加集合对象的多个属性值。假设我们有一个Person类,有name、age和gender三个属性,我们可以使用以下代码将多个Person对象添加到List集合中:
```
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 25, "female"));
people.add(new Person("Bob", 30, "male"));
people.add(new Person("Charlie", 20, "male"));
```
如果我们想要添加每个人的ID属性,可以使用Stream API的map方法,将每个Person对象映射为一个新的Person对象,并在其中添加ID属性。例如,我们可以使用以下代码:
```
List<Person> peopleWithIds = people.stream()
.map(person -> {
person.setId(UUID.randomUUID().toString());
return person;
})
.collect(Collectors.toList());
```
在上面的代码中,我们使用UUID生成一个唯一的ID字符串,并将其设置为每个Person对象的ID属性。然后,我们使用collect方法将Stream转换为List集合,以便我们可以访问所有添加了ID属性的Person对象。
类似地,我们可以使用Stream API和lambda表达式来添加其他属性值,例如日期、地址等等。只需在map方法中创建一个新的Person对象,并设置所需的属性即可。
阅读全文