2016-09-02 1 views
1

Ich habe eine map: Map[AnyRef, AnyRef]. Was ist der beste Weg, um es in der folgenden Zeichenfolge zuzuordnenUmwandlung Karte zu Schlüssel = Wert-Paare

"key1=value1 key2=value2 ..." 

In Java ist das einfach. Ich würde es einfach verwenden

map.entrySet() 
    .stream() 
    .map(e -> e.getKey().toString() + "=" + e.getValue().toString()) 
    .collect(joining(" ")) 

Aber wie geht das in Scala?

Antwort

2
map.map{ case (a, b) => a.toString + "=" + b.toString}.mkString(" ") 
+1

Sie brauchen '{}' anstelle von '()', um 'case' zu ​​verwenden, und' => '' anstelle von '->'. –

+0

Behoben. Habe keinen Compiler neben mir zu überprüfen. – talex

2

eine Verwendung für das Verständnis mit String-Interpolation,

(for ((k,v) <- map) yield s"$k=$v").mkString(" ") 
2
map map { case (a, b) => s"$a=$b" } mkString " " 

. ist optional und Verwendung String-Interpolation, um es gut aussehen zu lassen.

Verwandte Themen