gpt4 book ai didi

scala - Scala 中的 map 和 foreach 方法之间的区别?

转载 作者:行者123 更新时间:2023-12-03 21:19:05 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is there a difference between foreach and map?

(9 个回答)


8年前关闭。




当我开始编程 Scala 时,我确实有一个很大的疑问。我想知道如何map scala作品中的方法。是顺序处理还是多线程处理?更重要的是我想知道为什么map方法比 while 快或 foreach ?

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

最佳答案

首先,这两种操作是无限不同的。 map是给定函数 A => B 的列表的变换, 而 foreach yield Unit并且通常用于副作用。

我猜是 foreachmap 相比,执行所需的周期“更快”它会创建一个新集合(在本例中)作为函数的结果。但比较这两者实际上是比较苹果和橙子。
map只有在调用它的集合是并行集合时才会并行。所以在你的例子中:

list.map(x => x)

不是并行的而是顺序的,但是
list.par.map(x => x)

将是平行的。显然,这种用法需要考虑各种注意事项。同一个平行馆藏有 foreach方法也一样。

关于scala - Scala 中的 map 和 foreach 方法之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17080186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com