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

Scala中map和foreach方法的区别?

发布时间:2020-12-16 09:26:17 所属栏目:安全 来源:网络整理
导读:参见英文答案 Is there a difference between foreach and map?????????????????????????????????????8个 当我开始编写Scala时,我确实有一个很大的疑问.我想知道scala中的map方法是如何工作的.是顺序处理还是多线程处理?更重要的是,我想知道为什么map方法比
参见英文答案 > Is there a difference between foreach and map?????????????????????????????????????8个
当我开始编写Scala时,我确实有一个很大的疑问.我想知道scala中的map方法是如何工作的.是顺序处理还是多线程处理?更重要的是,我想知道为什么map方法比while或foreach更快?

val list = List(1,2,3,45,12)
list.map(x => x)
list.foreach(x => println(x))

解决方法

首先,这两个操作是无限不同的. map是给定函数A =>的列表的变换. B,而foreach产生单位,通常用于副作用.

我猜想,与map相比,foreach在执行所需的周期方面“更快”,因为map创建了一个新的集合(在这种情况下)作为函数的结果.但比较这两者实际上是在比较苹果和橘子.

如果调用它的集合是并行集合,则map将只是并行的.所以在你的例子中:

list.map(x => x)

不是平行的并且是顺序的,但是

list.par.map(x => x)

会平行的.这种用法显然需要考虑各种警告.同一个并行集合也有一个foreach方法.

(编辑:李大同)

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

    推荐文章
      热点阅读