【发布时间】:2014-10-29 22:02:20
【问题描述】:
ListBuffers 的文档提供了两种将 ListBuffer 转换为 List 的方法:result 和 toList。
result 说它会从添加的元素中生成一个集合,并且之后的内容是未定义的。
toList 似乎改为对缓冲区内容进行恒定时间的惰性复制(并且可能使缓冲区保持原样)。
如果toList 是常数时间,我们什么时候会更喜欢result?而且我是否正确理解toList 将保留缓冲区的内容?
【问题讨论】:
-
如果我们查看源代码 (github.com/scala/scala/blob/v2.11.4/src/library/scala/…),我们会看到
def result: List[A] = toList:) -
@Paul - 您应该将其发布为答案,以便可以关闭问题。
-
我不确定这是一个答案。这是一个实现工件。也许未来的版本会决定以不同的方式做这两个。
标签: scala listbuffer