这是工作中的一个小实践,简单记录下
list中放的对象,任意一个属性做key,任意属性做value或者list中的对象做为value
User类比较简单就不写了
public class TestListToMap {
private static List<User> users = new ArrayList<>();
static {
for (int i = 0; i < 10; i++) {
users.add(new User("name"+i, new Random().toString(),i));
}
}
public static void main(String[] args) {
Map<String, Integer> collect = users.stream().collect(Collectors.toMap(User::getName, User::getAge));
collect.forEach((obj,vale)->{
System.out.println(obj+":"+vale);
});
Map<String, User> userMap = users.stream().collect(Collectors.toMap(User::getName, t -> t));
userMap.forEach((obj,valu)->{
System.out.println(obj+" = "+ valu.toString());
});
}
}
分组进行转化
Map<String, List<PaasGradeExportVo>> map = list.stream().collect(Collectors.groupingBy(e -> e.getSecondDept()));