要合併val A = Option(Seq(1,2))
和val B = Option(Seq(3,4))
,以產生一個新的選項順序斯卡拉合併選項序列
val C = Option(Seq(1,2,3,4))
這
val C = Option(A.getOrElse(Nil) ++ B.getOrElse(Nil))
,
似乎比
val C = Option(A.toList.flatten ++ B.toList.flatten)
更快,更地道
但有沒有更好的方法?我對getOrElse
比toList.flatten
快嗎?
當你說「更快」,你的意思是「有別人在這個代碼上執行基準測試」?不太可能。然而,第一個例子不需要類型轉換('toList')。 –
我寧願你的第一種方法來解決任何當前的答案。 –
@BobDalgleish是的,我的感覺是,第一個選項的轉換次數較少,因此更可取。 –