2017-09-26 4 views
0

Ich möchte eine Karte {Schlüssel: Spalte, Schlüssel1: Spalte1} in eine CSV-Zeichenfolge "Schlüssel = Spalte, Schlüssel1 = Spalte" konvertieren.konvertieren Karte in Zeichenfolge mit Java 8 Lambda

Ich bekomme die Entry Map und konstruiere die Zeichenfolge aus Schlüssel und Wert. Hier ist, was ich habe:

Sicher, sieht hässlich aus, vor allem muss ich Postprocessing auf das Komma tun. Fragen Sie sich, ob es einen saubereren Weg gibt, dies zu tun?

Hinweis: Ich habe keinen Code-Review benötigt, brauche nur ein anderes zu wissen, aber sauberen Weg, um die gleiche Sache zu schreiben, wenn überhaupt möglich

Antwort

4

Dies kann mit dem joining Kollektor erfolgen:

String str = map.entrySet().stream().map(e -> e.getKey() + "=" + e.getValue()) 
            .collect(Collectors.joining(",")); 
0

sie es nicht über komplizieren:

String str = map.toString().replace(":", "=").replaceAll("^.|.$", "");