edd*_*ark 26 dictionary scala filter
我List[Int]在Scala.名单是List(1,2,3,4,5,6,7,8,9,10).我想要filter列表,以便它只有偶数.而且我想用2代表数字.这有可能吗?
我希望我已经清楚地解释了这个问题.如果您有任何疑问,请询问.提前致谢.
cmb*_*ter 48
正如我在评论中所述,collect应该做你想做的事:
list.collect{
case x if x % 2 == 0 => x*2
}
Run Code Online (Sandbox Code Playgroud)
该collect方法允许您在匹配元素(filter)上指定条件并修改匹配(map)的值
正如@TravisBrown建议的那样,你也可以使用flatMap它,特别是在条件更复杂且不适合作为保护条件的情况下.对于你的例子,这样的事情:
list.flatMap{
case x if x % 2 == 0 => Some(x*2)
case x => None
}
Run Code Online (Sandbox Code Playgroud)
一种用于理解(其内部展开成的组合map和withFilter)如下,
for (x <- xs if x % 2 == 0) yield x*2
Run Code Online (Sandbox Code Playgroud)
亦即
xs.withFilter(x => x % 2 == 0).map(x => x*2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18483 次 |
| 最近记录: |