gpt4 book ai didi

java - lambda 复制具有不同键类型的映射

转载 作者:行者123 更新时间:2023-12-04 10:57:32 25 4
gpt4 key购买 nike

我们有一个 Map<String,MyObject>需要转换成Map<Date, MyObject> .
这里的字符串只不过是存储为字符串的日期,即,

{"1999-11-07T18:30:00.000+0000":{"property1":"value1","property2":valuep1},
{"1998-11-07T18:30:00.000+0000":{"property1":"value2","property2":valuep2}

使用 lambda 和流有什么简单或直接的方法吗?我们正在使用 java8 和 Jackson API。

最佳答案

yourMap.entrySet().stream()
.collect(Collectors.toMap(
this::parseDate,
Map.Entry::getValue
));

创建一个方法来解析你的字符串到一个日期;
private Date parseDate(Map.Entry<String, Object> e) {
try {
return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse(e.getKey());
} catch (ParseException ex) {
ex.printStackTrace();
}
return some date;
}

关于java - lambda 复制具有不同键类型的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59085960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com