list<User> stream替换某个值
时间: 2023-08-15 18:07:32 浏览: 147
要替换 List<User> 中的某个值,可以使用 Stream 的 map 方法,将需要替换的 User 对象替换成新的 User 对象,然后再将 Stream 转换为 List。
例如,假设有一个包含 User 对象的 List Stream,需要将其中的姓名为 "Tom" 的 User 对象的年龄替换为 25,可以这样实现:
```
List<User> newList = userListStream.map(user -> {
if (user.getName().equals("Tom")) {
return new User(user.getName(), 25, user.getEmail());
} else {
return user;
}
}).collect(Collectors.toList());
```
这里使用了 lambda 表达式,如果当前 User 对象的姓名为 "Tom",就将其年龄替换为 25,否则保留原来的 User 对象。最后使用 collect(Collectors.toList()) 将 Stream 转换为 List。
需要注意的是,这里创建了一个新的 User 对象来替换原来的 User 对象,因为 Java 中的对象都是引用类型,直接修改原来的 User 对象可能会影响到其他地方使用该对象的代码。
阅读全文