stream() 转为map
时间: 2023-11-15 20:02:12 浏览: 61
stream() 转为 map 是 Java 8 中的一个常见操作,可以将一个 Stream 转换为一个 Map 对象。在这个过程中,我们可以使用 Collectors.toMap() 方法来实现这个转换。toMap() 方法接受两个参数,第一个参数是用于生成 Map 的键的函数,第二个参数是用于生成 Map 的值的函数。在这里,我们可以使用方法引用来指定这些函数。如果我们想要将 Stream 中的元素转换为 Map,我们需要指定一个键和一个值的函数。键函数将返回一个用于生成 Map 键的值,而值函数将返回一个用于生成 Map 值的值。在这里,我们可以使用 User 对象的 id 属性作为键,使用 User 对象本身作为值。下面是一些示例代码:
1.将 User 对象列表转换为 id 和 name 的 Map:
Map<Integer,String> userMap1 = userList.stream().collect(Collectors.toMap(User::getId,User::getName));
2.将 User 对象列表转换为 id 和 username 的 Map:
Map<Long, String> map = userList.stream().collect(Collectors.toMap(User::getId, User::getUsername));
3.将 User 对象列表转换为 id 和 User 对象本身的 Map:
Map<Integer,User> userMap2 = userList.stream().collect(Collectors.toMap(User::getId,User->User));
阅读全文