gpt4 book ai didi

java - 在 java 1.8 中将 Map> 转换为 Map>

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

我有一个Map<String, List<Object>> ,我想将其转换为 Map<String, List<String>>在 Java 8 中。

在 Java 1.7 中,我使用一个函数从 Map 中提取值,然后编写另一个声明为空 List 的方法,使用 for 循环提取每个元素,然后添加到 java 1.7 中的 List 对象

任何在 java 8 中使用 lambda 表达式执行相同操作的建议

提前致谢

最佳答案

你可以使用这个:

Map<String, List<String>> result = map.entrySet().stream()
.map(e -> Map.entry(e.getKey(),
e.getValue().stream()
.map(o -> (String) o) //or Object::toString depending on the object
.collect(Collectors.toList())))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

Map.entry 来自 Java 9,如果您使用的是 Java 8,则可以使用 AbstractMap.SimpleEntry

关于java - 在 java 1.8 中将 Map<String, List<Object>> 转换为 Map<String, List<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55507125/

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