Seq 在 Scala 中实现快速随机访问和快速增长

Joh*_*rom 5 scala scala-collections

对于以下场景,最好的 Scala 集合(在 2.8+ 中)是可变的还是不可变的:

  • 按顺序排序,因此我可以按位置访问项目(一个 Seq)
  • 需要频繁插入项目,所以集合必须能够在没有太多惩罚的情况下增长
  • 随机访问,经常需要在集合中的任意索引处删除和插入项目

目前我似乎在可变 ArrayBuffer 上获得了良好的性能,但还有什么更好的吗?是否有一个不变的替代方案也可以这样做?提前致谢。

小智 4

可变:ArrayBuffer
不可变:Vector