使用java 8 lambda将map转换为字符串

Bud*_*Kis 1 java lambda java-8

我想将map {key:column,key1:column1}转换为csv字符串"key = column,key1 = column".

我正在获取入口映射并从键和值构造字符串.这就是我所拥有的:

        entry.forEach(entryVal ->{
            result.append(entryVal.getKey() + "=" + entryVal.getValue());
            result.append(',');
        });
        int index = result.lastIndexOf(",");
        if(index == result.length()-1){
            result.deleteCharAt(index);
            return result.toString();
        }
Run Code Online (Sandbox Code Playgroud)

当然,看起来很难看,特别是我必须对逗号进行后处理.想知道是否有更清洁的方法吗?

注意:我不需要代码审查,只需要知道一种不同但更清晰的方式来编写同样的东西,如果可能的话

Joe*_*e C 7

这可以使用joining收集器完成:

String str = map.entrySet().stream().map(e -> e.getKey() + "=" + e.getValue())
                                    .collect(Collectors.joining(","));
Run Code Online (Sandbox Code Playgroud)