测试数据:(按照ID进行分组)
ID 生年月日 上级ID
001 19900101 null
002 19920101 001
002 19910301 001
003 19890104 002
003 19940925 002
预想结果:
001 {[19900101, null]}
002 {[19920101, 001],[19910301, 001]}
003 {[19890104, 002],[19940925, 002]}
// DB 取得的数据
List<User> userData= testRepository.selectUserData();
// 变换后的数据储存到map中
Map<String, List<User>> userMap = new HashMap<>();
if (!userData.isEmpty()) {
// 循环List
for (User user: userData) {
//map存在,追加存放数据
if (userMap.containsKey(user.getUserId())) {
userMap.get(user.getUserId()).add(user);
} else {
//map中不存在,新建key,用来存放数据
List<User> tmpList = new ArrayList<User>();
tmpList.add(user);
userMap.put(user.getUserId(), tmpList);
}
}
}