Java -> Scala,集合性能

标签 java scala collections

在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/

相关文章:

java - MultipartFile#getContentType 在 Spring 集成测试期间返回 null

具有类型参数的类的 Scala 模式匹配

arrays - Scala:如何指定暗示相等的类型参数边界?

java - 具有限制和自定义比较器的部分排序集合

java - 在Java中合并两个集合

java - 比较具有精确值匹配和相似值匹配的两个列表(使用 Java)

java - 分块读取大文本文件处理

java - 如何在 JavaFx 中动态更改舞台的高度

java - CATALINA_OPTS 与 JAVA_OPTS - 有什么区别?

scala - 将 Scala Anorm 记录转换为特定对象