在Java中,根据集合的用途,我们并没有使用相同的实现(即ArrayList vs LinkedList)。
来自 Java 背景,有人能告诉我关于 Scala 集合和性能注意事项我应该了解什么吗?
Scala List 的不可变版本似乎是某种不可变的 LinkedList。 在 Coursera 上学习 Martin Odersky 类(class)后,我理解了这些概念。 以同样的方式,我理解为什么前置比附加更有效,尤其是当您有一个不可变列表时。
我想知道关于 Scala 集合性能的所有(或大部分)这类棘手的事情,这样我自己就不会觉得很难。有人可以帮助我吗?
谢谢
最佳答案
有一份文件 describes collection performance characteristics .除此之外,您真的应该在微基准测试中测试您的用例。在某些情况下,Scala 集合在性能上与 Java 集合非常接近;在其他情况下存在差距(例如 map );在其他情况下,没有 Java 类似物,不可变与可变的比较在很大程度上取决于您如何使用集合(显然,大量变异有利于可变集合,大量重用/复制有利于不可变集合)。
关于Java -> Scala,集合性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984233/