Joh*_*son 5 scala list idiomatic
我有一个List[Option[MyClass]]与None在随机位置,我需要再次"补"该名单,从List[MyClass],维持秩序.
以下是样本列表和预期结果:
val listA = List(Some(3),None,Some(5),None,None)
val listB = List(7,8,9)
val expectedList = List(Some(3), Some(7), Some(5), Some(8), Some(9))
Run Code Online (Sandbox Code Playgroud)
那么,如何处理该列表的惯用Scala呢?
xie*_*fei 13
def fillL[T](a:List[Option[T]], b:List[T]) = {
val iterB = b.iterator
a.map(_.orElse(Some(iterB.next)))
}
Run Code Online (Sandbox Code Playgroud)