Joe*_*oel 7 java hashmap java-8 java-stream
我想尽快创建一个我的键值对的字符串HashMap<String, String> m.
我试过了:
StringBuffer buf = new StringBuffer();
buf.append("[");
for (String key : m.keySet()) {
buf.append(key);
buf.append("=");
buf.append(m.get(key));
buf.append(";");
}
buf.append("]");
Run Code Online (Sandbox Code Playgroud)
用Java8我试过:
m.entrySet().stream()
.map(entry -> entry.getKey() + " = " + entry.getValue())
.collect(Collectors.joining("; " , "[" , "]"));
Run Code Online (Sandbox Code Playgroud)
有更快,更好的代码吗?在地图函数中附加键和值似乎代价很高,不是吗?
map -> map.entrySet().stream().map(Entry::toString).collect(joining(";", "[", "]"))
Run Code Online (Sandbox Code Playgroud)
(注意我省略了导入.)
在这种情况下,我不担心性能,除非它是系统的关键部分,并且它被指出是使用分析器或类似工具的瓶颈.如果您之前没有这样做,并且您认为此代码不是最佳的,那么我可能你错了,应该先测试一下.