User类:
@Data
public class User{
private String userId;
private String name;
}
List
List转List
例子:获取userList中所有对象的id
List<User> userList = new ArrayList<>();
List<String> idList = userList.stream().map(user -> user.getUserId()).collect(Collectors.toList());
List转Map
例子:1、将UserList转换为以UserId为key,name为value的map;
2、将UserList转换为UserId+Name为key,User为value的map;
List<User> userList = new ArrayList<>();
Map<String,String> map = userList.stream().collect(Collectors.toMap(User::getUserId, User::getName));
Map<String,User> userMap = userList.stream().collect(Collectors.toMap(user -> user.getUserId+user.getName, user -> user));
List转String
例子:将UserList中所有name拼接成逗号隔开的字符串(张三,李四,王五)
List<User> userList = new ArrayList<>();
String allNameStr = userList.stream().map(User :: getName).collect(Collectors.joining(","));
Map
map转map
例子:Map<String, User>转成Map<String, String>,User转为JSONString,map的key还是原来的String
Map<String, User> userMap = new HashMap<>();
userMap.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, conf -> JSONObject.toJSONString(conf)));