繁体   English   中英

Scala遍历两个序列并追加到列表

[英]Scala iterate through two sequences and append to a list

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

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


}

在这种情况下,本地值中的字符串应该是默认值0的键。是否可以使用for-forhension来同时遍历这两个序列,并为第一个序列添加默认0值地图上的顺序? 我也试图在这里不使用可变变量。

def newMap(local: Seq[String], passed: Seq[(String, Int)]): Map[String, Int] = 
  (local.view.map((_, 0)) ++ passed.view).toMap

在上面带有view的代码中,我们首先将输入集合转换为它们的惰性包装器,而不是立即执行以下所有操作来累积它们,并且仅在强制使用某些严格版本时才执行它们。 这使我们能够在toMap一次遍历执行所有操作( map++toMap )。 最终的toMap强制toMap的惰性集合放入严格的Map

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM