java使用stream流对List<User>中的userId进行赋值
时间: 2024-04-15 07:31:23 浏览: 176
Java8 将List<Integer> 转换成以逗号分割的String字符串
假设你有一个包含`User`对象的列表,并且`User`对象有一个`userId`属性,你可以使用Java的Stream流来对列表中的每个`User`对象的`userId`属性进行赋值。下面是一个示例:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
class User {
private String userId;
public User(String userId) {
this.userId = userId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}
public class Main {
public static void main(String[] args) {
// 假设有一个包含User对象的列表
List<User> userList = new ArrayList<>();
userList.add(new User("user1"));
userList.add(new User("user2"));
userList.add(new User("user3"));
// 使用Stream流对List<User>中的userId进行赋值
List<User> updatedUserList = userList.stream()
.map(user -> {
user.setUserId(user.getUserId() + "_new");
return user;
})
.collect(Collectors.toList());
// 输出结果
updatedUserList.forEach(user -> System.out.println(user.getUserId()));
}
}
```
在上述示例中,我们使用了Java 8 的Stream流来遍历`userList`,使用`map()`方法对每个`User`对象进行赋值操作,这里通过在原有的`userId`后面添加"_new"来进行赋值。最后,使用`collect()`方法将结果收集到一个新的列表中。运行以上代码将输出:
```
user1_new
user2_new
user3_new
```
这样,我们就使用Stream流对List<User>中的userId进行了赋值。你可以根据实际情况修改赋值操作的逻辑来满足自己的需求。
阅读全文