我是新来的scala,我试图重构下面的代码。我想消除在下面的代码中使用的“索引”,并循环到数组中获取数据。什么是在scala中循环数组的最佳方式
subgroupMetricIndividual.instances.foreach { instanceIndividual =>
val MetricContextListBuffer: ListBuffer[Context] = ListBuffer()
var index = 0
contextListBufferForSubGroup.foreach { contextIndividual =>
MetricContextListBuffer += Context(
entity = contextIndividual,
value = instanceIndividual(index).toString
)
index += 1
}
}
例如,如果变量的值如下:
contextListBufferForSubGroup = ("context1","context2")
subgroupMetricIndividual.instances = {{"Inst1","Inst2",1},{"Inst3","Inst4",2}}
,则前后应该是这样的:
{
entity: "context1",
value: "Inst1"
},
{
entity: "context2",
value: "Inst2"
},
{
entity: "context1",
value: "Inst3"
},
{
entity: "context2",
value: "Inst4"
}
注:
instanceIndividual可以有更多的元素比contextListBufferForSubGroup中的元素要多。在这种情况下,我们必须忽略instanceIndividual中的最后一个额外元素