Java 如何转换地图<;字符串,字符串>;至;键1:value1,键2:value2,…”;使用lambda

Java 如何转换地图<;字符串,字符串>;至;键1:value1,键2:value2,…”;使用lambda,java,map,lambda,java-8,Java,Map,Lambda,Java 8,我有一个映射,我需要将其转换为单个字符串:“key1:value1,key2:value2,…” 我可以使用迭代来实现这一点。但是我可以使用Java8的新lambda和流功能来实现这一点吗?谢谢 Map=。。。; Map<String, String> map = ...; String result = map.entrySet().stream() .map(e -> String.join(":", e.getKey(), e.getValue())) .

我有一个
映射
,我需要将其转换为单个
字符串
“key1:value1,key2:value2,…”

我可以使用迭代来实现这一点。但是我可以使用Java8的新lambda和流功能来实现这一点吗?谢谢

Map=。。。;
Map<String, String> map = ...;
String result = map.entrySet().stream()
    .map(e -> String.join(":", e.getKey(), e.getValue()))
    .collect(Collectors.joining(","));
字符串结果=map.entrySet().stream() .map(e->String.join(“:”,e.getKey(),e.getValue())) .collect(收集器。连接(“,”);
您可以使用地图和连接收集器

Map<String,String> map = new LinkedHashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
String text = map.entrySet().stream()
                 .map(e -> e.getKey() + ":" + e.getValue())
                 .collect(Collectors.joining(","));
System.out.println(text);

顺便说一句,如果可以避免的话,我不会使用String.format(),因为它比字符串串联要慢得多。

@Anonymous Downvorters:如果你能解释下一票的原因,那就太好了。非常感谢。我猜是因为你没有表现出任何试图用流来做这件事。
key1:value1,key2:value2,key3:value3