java-8 - Java 8 - 映射到括号中的逗号分隔对

标签 java-8

最好的方法是什么Java 8

Map<Integer, Integer>

到一个字符串,如:
[k1,v1],[k2,v2],[k3,v3]...

我正在看这样的东西,但我不知道如何“返回”或“映射”StringBuilder :
map.forEach( (k,v) -> s.append("[").append(k).append(",").append(v).append("]") )
                    .collect(Collectors.joining(", "));

无论如何,我相信StringBuilder在 future 并行的情况下不适合多线程。

请注意,我可以迭代 Map 并以旧方式创建所有结构,但我想看看如何使用一些新的 Java8 功能来完成它。

我觉得有些toString()偶然地已经返回括号中的 map 值,这可能很方便,尽管依赖于此并不是一个好主意。

最佳答案

map.entrySet()
   .stream()
   .map(e -> "[" + e.getKey() + "," + e.getValue() + "]")
   .collect(Collectors.joining(","));

关于java-8 - Java 8 - 映射到括号中的逗号分隔对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42631849/

相关文章:

java - 返回 Java 流中的第一个结果匹配谓词或所有非匹配结果

java - 从流中的两个列表创建分离值的映射

Tomcat 服务停止在 Windows 上从 32 位升级到 64 位花费的时间太长

java - 如何在ubuntu 14.04中安装32位系统的eclipse neon版本

java - Runnable 是如何从 Java8 lambda 创建的

Java 8 将 List 转换为 Lookup Map

具有流和性能的 Java 8 嵌套循环

java - 按 map 值分组

java - 如何在Java中生成列表的所有k-sublists?

algorithm - 从给定的列表或 map 中找到转换器的最佳路径