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

时间:2017-05-31 10:12:14

标签: scala immutability

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

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

编辑:问题的目标是可用于实现可变数据类型的技术。

2 个答案:

答案 0 :(得分:4)

阅读有关在scala中实现自定义集合的this wonderful tutorial。 它应该有你所需要的所有回答问题"如何完成"。

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

 class Foo(var bar: String) 

会做的。但是......不要这样做。虽然,有罕见和孤立的案例,有可变结构是不可避免的,很可能,你很长时间不会遇到这种情况。

我对你的建议是从学习编写好的,惯用的scala代码开始,进入功能性思维模式,数据结构不会在你身下发生变异。学会欣赏它。

答案 1 :(得分:2)

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