gpt4 book ai didi

java - 如何在 Java 8 中将 Map> 转换为 Map

转载 作者:搜寻专家 更新时间:2023-10-31 19:42:57 29 4
gpt4 key购买 nike

我有一个像

这样的 map
key= ["a1", "a2", "a3"] 
value = [["a1.value1", "a1.value2"],["a2.value1", "a2.value2"]]

生成的 map 应该是这样的

key = ["a1", "a2", "a3"]
value = ["a1.value1, a1.value2", "a2.value1, a2.value2"]

我们如何使用 Collectors.joining 作为中间步骤?

最佳答案

How can we use Collectors.joining as an intermediate step ?

你是说,在收集阶段...

是的,你可以:

Map<String, String> result = 
source.entrySet()
.stream()
.collect(toMap(Map.Entry::getKey,
e -> e.getValue().stream().collect(joining(", "))));

但是,最好使用String.join:

Map<String, String> result = 
source.entrySet()
.stream()
.collect(toMap(Map.Entry::getKey, e -> String.join(", ", e.getValue())));

或无流变体:

Map<String, String> resultSet = new HashMap<>();
source.forEach((k, v) -> resultSet.put(k, String.join(",", v)));

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

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