stream 加lambda表达式对list<User>中的user类放入map中如何操作 请给我示例
时间: 2024-05-04 07:18:33 浏览: 136
Java Lambda List转Map代码实例
5星 · 资源好评率100%
假设我们有一个名为`users`的`List<User>`,其中`User`类有`id`和`name`两个属性,我们想将`users`中的每个`User`对象放入一个`Map`中,以`id`作为`key`,以`name`作为`value`。可以使用Java 8中的`stream`和`lambda`表达式实现,示例如下:
```java
Map<Integer, String> userMap = users.stream()
.collect(Collectors.toMap(User::getId, User::getName));
```
在上面的示例中,我们调用了`stream()`方法获取一个`Stream<User>`对象,然后使用`collect()`方法将`Stream<User>`对象转换成一个`Map<Integer, String>`对象。`toMap()`方法的第一个参数是`keyMapper`函数,它将`User`对象映射成`id`;第二个参数是`valueMapper`函数,它将`User`对象映射成`name`。最终,我们得到了一个以`id`作为`key`,以`name`作为`value`的`Map`对象。
阅读全文