简单的收集list中的数据
开发中经常会遇到一个场景,需要获取list中的某些数据,如List userList中获取userList中的userName, userCode。User实体如下
@Data
public class User{
pravite String userName;
pravite String userCode;
public User{
}
public User (String userName,String userCode){
this.userName=userName;
this.userCode=userCode;
}
}
//当然我们默认userList中有一堆User数据,一般都是靠查询获取所以右边写了一个举例查询。
List<User> userList = userService.selectUser();
//获取userName //↓这会返回一个String类型的List
userList.stream().map(user -> user.getUserName).collect(Collectors.toList());
//如下
List<String> userNameList=userList.stream().map(user->user.getUserName).collect(Collectors.toList());
//如上,简单的就可以获取userName的集合
或者你还想在收集的时候拼接userName,userCode,
//其实也是一样的,如下就在->右边进行拼接,
userList.stream().map(user->user.getUserName+user.getUserCode).collect(Collectors.toList());
//返回的也是一个String类型的List
List<String> userString=userList.stream().map(user->user.getUserName+user.getUserCode).collect(Collectors.toList());
//或者你想拼接更多?
List<String> userString=userList.stream().map(user->user.getUserName + "(" + user.getUserCode + ")").collect(Collectors.toList());
//这样就会拼接成 userCode(userName)
//甚至是收集后分隔开来
String spic=StringUtils.join(userString, ",");
//上面的用法很简单,传入一个list, 后面写分隔符,自动就会分隔开来了会得出上面结果呢?如下
//userCode1(userName1),userCode2(userName2),userCode2(userName2)
还想怎么收集?评论区~~~