java的stream流把list转为map,并把timestamp类型得key专位String类型
时间: 2024-05-02 14:23:28 浏览: 80
java 中list 和map 混合使用。求补集
3星 · 编辑精心推荐
可以使用Java 8中的Stream API中的`Collectors.toMap()`方法来将一个List转换成Map,并且将Timestamp类型的key转换为String类型。代码如下:
```java
List<MyObject> myList = ...; // 假设这是你的对象列表
Map<String, MyObject> myMap = myList.stream()
.collect(Collectors.toMap(
obj -> obj.getTimestamp().toString(), // 将Timestamp类型的key转换为String类型
Function.identity())); // 使用对象本身作为Map的value
```
上面的代码中,`MyObject`是一个自定义的具有`getTimestamp()`方法的类。`Collectors.toMap()`方法接收两个参数,第一个参数是一个函数,用于将List中的元素转换成Map的key,第二个参数是一个函数,用于将List中的元素转换成Map的value。在上面的代码中,第一个参数使用了lambda表达式,将Timestamp类型的key转换为String类型,第二个参数使用了`Function.identity()`,这个方法会返回对象本身作为Map的value。
阅读全文