Scala:如何编写我自己的可变数组?

Scala: How to write my own mutable array?

我知道 scala.collection.mutable 包提供了可变数据结构。但它是如何完成的呢?

我可以编写自己的可变数据结构并将其传递给要更改的函数吗?

编辑:该问题针对可用于实现可变数据类型的技术。

当然可以。没有限制,所有不可变数据结构都应该在scala.collection.immutable内,所有可变数据结构都应该在scala.collection.mutable内。标准合集类为了方便,分为这两个包。您可以在自己喜欢的地方创建自己的类。

阅读 this wonderful tutorial 关于在 Scala 中实现自定义集合的内容。 它应该包含您回答问题 "how it is done".

所需的全部内容

如果你只是在谈论任何数据结构,而不是集合,那么像

 class Foo(var bar: String) 

会的。但是......不要这样做。虽然在罕见和孤立的情况下,可变结构是不可避免的,但很可能很长一段时间内您都不会遇到这种情况。

我对您的建议是从学习编写良好的、惯用的 Scala 代码开始,并进入函数式思维模式,在这种模式下数据结构不会在您的指导下发生变化。学会欣赏。