【发布时间】:2013-06-09 10:22:36
【问题描述】:
当我开始编写 Scala 时,我确实有一个很大的疑问。我想知道 scala 中的 map 方法是如何工作的。无论是顺序处理还是多线程处理?更重要的是我想知道为什么map 方法比while 或foreach 更快?
val list = List(1,2,3,45,12)
list.map(x => x)
list.foreach(x => println(x))
【问题讨论】:
-
你怎么知道
map比foreach快? -
事实上,
foreach应该比map更快,因为在map内部构建list在上述情况下foreach不构建。任何脚本都显示foreach更快 -
好吧,我用代码进行了测试,与 foreach 或 while 等相比,scala 中的(即 map)表达式的结果更快。
-
@Jatin:你不认为
println需要更多的时间来执行(因为它是一个系统调用)比一个简单的对象创建,它只触发GC(如果GC管理一个大足够的堆)。
标签: scala