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