Java8 中 List 转 Map(Collectors.toMap)
1、之前写法
List<User> userList = Lists.newArrayList(
new User().setId("1").setName("张三"),
new User().setId("2").setName("李四"),
new User().setId("3").setName("王五")
);
Map<String, String> map = new HashMap<>();
for (User user : userList) {
map.put(user.getId(), user.getName());
}
2、现在写法
userList.stream().collect(Collectors.toMap(User::getId, User::getName));
如果希望得到 Map 的 value 为对象本身时,可以这样写:
userList.stream().collect(Collectors.toMap(User::getId, t -> t));