map中的<String,String[]>泛型转换为map<String,String>泛型类型的
时间: 2023-11-18 11:12:44 浏览: 130
如果你有一个 `Map` 对象,其键是 `String` 类型,而值是 `String[]` 类型,且你想将其转换为键为 `String` 类型,值为 `String` 类型的 `Map` 对象,你可以使用 Java 8 的 `Stream` API 来实现。
以下是一个示例代码,将一个键为 `String` 类型,值为 `String[]` 类型的 `Map` 对象转换为键为 `String` 类型,值为 `String` 类型的 `Map` 对象:
```java
Map<String, String[]> map = new HashMap<>();
map.put("key1", new String[]{"value1", "value2"});
map.put("key2", new String[]{"value3", "value4", "value5"});
Map<String, String> result = map.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, e -> String.join(",", e.getValue())));
System.out.println(result);
```
在上面的代码中,我们使用 `entrySet` 方法将 `Map` 对象转换为键值对的集合。然后,我们使用 `stream` 方法将集合转换为流,使用 `collect` 方法将结果收集到一个新的 `Map` 对象中,其中键为原来的键,值为原来的值数组中的所有元素用逗号拼接起来的字符串。
运行上面的代码,输出结果如下:
```
{key1=value1,value2, key2=value3,value4,value5}
```
可以看到,我们成功将原来的 `Map` 对象转换为了键为 `String` 类型,值为 `String` 类型的 `Map` 对象。
阅读全文