Ral*_*lph 4 functional-programming scala filter
我有一个List[(A, Option[B])].我想过滤掉None第二个元素中包含a的所有元组然后"展开" Option,给出一个List[A, B].
我目前正在使用这个:
list.filter(_._2.isDefined).map(tup => (tup._1, tup._2.get))
Run Code Online (Sandbox Code Playgroud)
有更好的方法(更简洁)吗?
你可以用模式匹配来做到这一点collect:
list.collect { case (a, Some(b)) => (a, b) }
Run Code Online (Sandbox Code Playgroud)