0

我知道函数式风格更喜欢可变的 var 或 val 列表,我理解为什么,但我正在考虑纯粹的时间/空间权衡。

我目前正在与一个 java 库进行交互,并且无论如何都必须在 scala 中编写大量非 idomatic 代码。

4

2 回答 2

3

也许有几个指针可以帮助您理解,为什么在使用不可变结构时没有那么大的惩罚:

于 2012-06-27T09:08:16.363 回答
2

在我看来,不可变列表的最大用途是,如果您在对象之间共享它们,就没有副作用。如果您开始使用并发性甚至并行性,这一点很重要。

顺便说一句:Scala 使用 Builder 来更改现有的列表并“回收”以前的列表,因此这并不像您预期​​的那样昂贵。

编辑

当我现在让您获得基准时,我发现这个非常好,因为它们显示了他们使用的代码。

于 2012-06-27T07:24:43.120 回答