加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在scala中组合过滤器和地图?

发布时间:2020-12-16 09:27:31 所属栏目:安全 来源:网络整理
导读:我在Scala中有List [Int].清单是清单(1,2,3,4,5,6,7,8,9,10).我想过滤列表,使其只有偶数.而且我想用2代数.这有可能吗? 我希望我已经清楚地解释了这个问题.如果您有任何疑问,请询问.提前致谢. 解决方法 正如我在评论中所述,收集应该做你想要的: list.collec
我在Scala中有List [Int].清单是清单(1,2,3,4,5,6,7,8,9,10).我想过滤列表,使其只有偶数.而且我想用2代数.这有可能吗?

我希望我已经清楚地解释了这个问题.如果您有任何疑问,请询问.提前致谢.

解决方法

正如我在评论中所述,收集应该做你想要的:

list.collect{
  case x if x % 2 == 0 => x*2
}

collect方法允许您指定匹配元素(过滤器)的条件并修改匹配的值(map)

正如@TravisBrown建议的那样,您也可以使用flatMap,特别是在条件更复杂且不适合作为保护条件的情况下.对于你的例子,这样的事情:

list.flatMap{
  case x if x % 2 == 0 => Some(x*2)
  case x => None
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读