簡體   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