将映射[String,String]()附加到Scala中具有[String]类型的数组或列表上
我已经用MapString、String将我的键、值对存储在多个可变映射中。我可以看到其中的键和值。但是,现在我需要在Scala中将这些映射附加到ArrayBuffer或字符串类型的列表中。这样,我就可以循环数组中的每个元素并继续。 请帮忙 示例代码将映射[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
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) }