Scala不可变数组,具有廉价的切片功能

Scala不可变数组,具有廉价的切片功能,scala,collections,Scala,Collections,我正在寻找一个集合,它包装了一个常规数组,并且支持低成本的尾部,切片,获取。。。行动 它只是一个存储数组、开始索引和结束索引的数据结构。比如Java字符串。 当然,这不是一个大问题,以实现自己,但我希望它应该已经做了 WrappedArray和scalaz.ImmutableArray都不是结构共享。有什么问题?性能?与常规数组相比,列表存在同样的问题:随机访问性能、迭代性能、内存占用。另外,如果我从第三方api获得一个数组,我需要首先将其转换为列表。数组的问题是,与字符串不同,它们是可变的。因

我正在寻找一个集合,它包装了一个常规数组,并且支持低成本的
尾部
切片
获取
。。。行动

它只是一个存储数组、开始索引和结束索引的数据结构。比如Java字符串。 当然,这不是一个大问题,以实现自己,但我希望它应该已经做了


WrappedArray
scalaz.ImmutableArray
都不是结构共享。

有什么问题?性能?与常规数组相比,列表存在同样的问题:随机访问性能、迭代性能、内存占用。另外,如果我从第三方api获得一个数组,我需要首先将其转换为列表。数组的问题是,与字符串不同,它们是可变的。因此,我非常怀疑是否有一个共享这些信息的图书馆结构。如果真的有,那可能是真的buggy@Dima这不是什么大问题。假设没有人从外部微妙地修改这个数组,那么数据结构实际上是不变的。没有线性类型:(。数组也可以在构造函数中克隆一次。我不是说它没有用处,只是说它很笨拙,并且会成为一个糟糕的公共API,所以,它不存在。如果您喜欢,自己实现它并不难,我只是解释为什么它不是任何好的scala库的一部分。