Java8:转换映射<;字符串,列表<;字符串>&燃气轮机;进入地图<;字符串,字符串>;通过连接这些值

Java8:转换映射<;字符串,列表<;字符串>&燃气轮机;进入地图<;字符串,字符串>;通过连接这些值,java,java-stream,Java,Java Stream,我有一个映射,我想把它转换成映射,结果的值将是一个字符串。第一个映射的值的join(“-”,values) 我知道如何这样做: public Map<String,String> flatten( Map<String, List<String>> attributes) { Map<String, String> map = new HashMap<>(); attributes.forEach((k,v) -

我有一个
映射
,我想把它转换成
映射
,结果的值将是一个
字符串。第一个映射的值的join(“-”,values)

我知道如何这样做:

public Map<String,String> flatten( Map<String, List<String>> attributes) {
      Map<String, String> map = new HashMap<>();
      attributes.forEach((k,v) -> map.put( k, String.join(" - ", v)));
      return map;
}
public Map<String,String> flatten( Map<String, List<String>> attributes) {
    return attributes.entrySet().stream().<something>;
}

我该怎么做?

无需分组。只需将条目收集到新的
地图中

Map<String, String> map = 
    attributes.entrySet()
              .stream()
              .collect(Collectors.toMap(Map.Entry::getKey,
                                        e-> String.join(" - ", e.getValue())));
Map=
attributes.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey、,
e->String.join(“-”,e.getValue());