将映射[String,String]()附加到Scala中具有[String]类型的数组或列表上

将映射[String,String]()附加到Scala中具有[String]类型的数组或列表上,scala,Scala,我已经用MapString、String将我的键、值对存储在多个可变映射中。我可以看到其中的键和值。但是,现在我需要在Scala中将这些映射附加到ArrayBuffer或字符串类型的列表中。这样,我就可以循环数组中的每个元素并继续。 请帮忙 示例代码 val X= scala.collection.mutable.Map[String, String]() X += ("Name" -> "Raghav") X += ("Home" -> "Gurgaon") val Y

我已经用MapString、String将我的键、值对存储在多个可变映射中。我可以看到其中的键和值。但是,现在我需要在Scala中将这些映射附加到ArrayBuffer或字符串类型的列表中。这样,我就可以循环数组中的每个元素并继续。 请帮忙

示例代码

val X= scala.collection.mutable.Map[String, String]()

  X += ("Name" -> "Raghav")
  X += ("Home" -> "Gurgaon")

val Y= scala.collection.mutable.Map[String, String]()

  Y += ("Name" -> "Vikrant")
  Y += ("Home" -> "Noida")

var JobConfigs = scala.collection.mutable.ArrayBuffer.empty[String]

JobConfigs += X
JobConfigs += Y

另一种方法是使用case类

case class Person(Name: String, Home: String)

var JobConfig = scala.collection.mutable.ArrayBuffer[Person]()

JobConfig += Person("Raghav", "Gurgaon")
JobConfig += Person("Vikrant", "Noida")

for(i <- JobConfig){
  println(s"home :${i.Home} , name : ${i.Name}")
}

Output: 
home :Gurgaon , name : Raghav
home :Noida , name : Vikrant 
根据您的评论:


它的投掷问题——对于e来说,这不是OP想要的。我需要将这些地图附加到ArrayBuffer或列表中感谢您的反馈。基本上,我想在ArrayBuffer的每个元素上存储键值对的映射。我已经能够通过以下方式将映射添加到ArrayBuffer中-JobConfigs+=X.toString JobConfigs+=Y.toString printlnJobConfigs ArrayBufferMapName->Raghav,Home->Gurgaon,MapName->Vikrant,Home->Noida现在我需要迭代ArrayBuffer的每个元素;然后迭代映射并打印它的键和值。它的投掷问题-对于e,我们将看一些基础知识。到目前为止,在Python上工作,在数据类型方面的生活更简单。如果你愿意,你可以分享你想做什么,你所有的问题,我将提供一个答案,解释你如何在惯用Scala上做到这一点。没有那么多的易变性和使用正确的类型。
var JobConfigs = scala.collection.mutable.ArrayBuffer.empty[Map[String, String]]
var JobConfigs = scala.collection.mutable.ArrayBuffer.empty[(String, String)]
JobConfigs ++= X
JobConfigs ++= Y

for ((k, v) <- JobConfigs) { println("Key:" + k + ", Value:" + v) }