Scala遍历两个序列并附加到列表中

Scala遍历两个序列并附加到列表中,scala,mapping,Scala,Mapping,我有以下方法签名,旨在组合来自两个不同序列的元素: def newMap(local: Seq[String], passed: Seq[(String, Int)]): Map[String, Int] = { } 在这种情况下,本地值中的字符串应该是默认值0的键。是否可以使用for CONTRUSION同时循环这两个序列,条件是为映射中的第一个序列添加默认的0值?我也尽量不使用可变变量 def newMap(local: Seq[String], passed: Seq[(String

我有以下方法签名,旨在组合来自两个不同序列的元素:

def newMap(local: Seq[String], passed: Seq[(String, Int)]): Map[String, Int] = {


}
在这种情况下,本地值中的字符串应该是默认值0的键。是否可以使用for CONTRUSION同时循环这两个序列,条件是为映射中的第一个序列添加默认的0值?我也尽量不使用可变变量

def newMap(local: Seq[String], passed: Seq[(String, Int)]): Map[String, Int] = 
  (local.view.map((_, 0)) ++ passed.view).toMap
在上面的代码with view中,我们首先将输入集合转换为它们的惰性包装器,而不是立即执行以下所有操作,而是将它们累加起来,并仅在强制转换为某个严格版本时执行它们。这允许我们在引擎盖下的一次遍历中执行所有操作map、++、toMap。最后一个toMap强制我们的惰性对集合成为一个严格的映射

在上面的代码with view中,我们首先将输入集合转换为它们的惰性包装器,而不是立即执行以下所有操作,而是将它们累加起来,并仅在强制转换为某个严格版本时执行它们。这允许我们在引擎盖下的一次遍历中执行所有操作map、++、toMap。最后一个toMap强制我们的惰性对集合成为一个严格的映射