Scala - 将映射键值对转换为字符串

时间:2017-04-28 04:03:59

标签: scala

我必须使用给定的2个分隔符将Map转换为字符串,并且我想使用自己的分隔符

我已完成以下代码

Map("ss"-> "yy", "aa"-> "bb").map(data => s"${data._1}:${data._2}").mkString("|")

out out是ss:yy | aa:bb

我正在寻找更好的方法。

2 个答案:

答案 0 :(得分:10)

我相信mkString是使用分隔符连接字符串的正确方法。您可以使用productIterator

将其应用于元组以及均匀性
Map("ss"-> "yy", "aa"-> "bb")
  .map(_.productIterator.mkString(":"))
  .mkString("|")

但请注意,productIterator会丢失类型信息。如果字符串不会造成太大伤害,但在其他情况下则很重要。

答案 1 :(得分:3)

Map("ss" -> "yy", "aa" -> "bb").map{case (k, v) => k + ":" + v}.mkString("|")
相关问题