Java - > Scala,收藏品上的表演

Seb*_*ber 5 java collections scala

在Java中,根据集合的用法,我们不使用相同的实现(即ArrayList vs LinkedList).

来自Java背景,有人可以告诉我,我应该了解Scala集合和性能注意事项吗?

似乎Scala List的不可变版本是某种不可变的LinkedList.我在Coursera的Martin Odersky课程之后理解这些概念.以同样的方式我理解为什么prepend比追加更有效,特别是当你有一个不可变列表时.

我想知道关于Scala收集表演的所有(或大多数)这些棘手的事情,所以我自己并不是很难找到它.有人能帮我吗?

谢谢

Rex*_*err 8

有一个描述集合性能特征的文档.除此之外,您真的应该在微基准测试中测试您的用例.在某些情况下,Scala集合在性能上与Java非常接近; 在其他方面存在差距(例如地图); 在其他情况下,没有Java模拟,并且不可变与可变的比较在很大程度上取决于您如何使用该集合(显然,重要的突变有利于可变集合,以及大量重用/复制有利于不可变集合).