没有 Scala 可变列表
Scala 有可变的和不可变的 Map , 但它只有一个不可变的列表。 如果你想要一个可变的 List,你需要一个 ListBuffer。
我不明白为什么会这样。 有谁知道吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Scala 有可变的和不可变的 Map , 但它只有一个不可变的列表。 如果你想要一个可变的 List,你需要一个 ListBuffer。
我不明白为什么会这样。 有谁知道吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
您可以在以下选项之间进行选择:
scala.collection.mutable.DoubleLinkedList
scala.collection.mutable.LinkedList
scala.collection.mutable.ListBuffer
scala.collection.mutable.MutableList
所以,是的,Scala 有可变列表:-)
You can choose between these:
scala.collection.mutable.DoubleLinkedList
scala.collection.mutable.LinkedList
scala.collection.mutable.ListBuffer
scala.collection.mutable.MutableList
So, yes, Scala has mutable lists :-)
我希望这篇文章对您有所帮助。页面底部的图表对于提供可变和不可变类特别有用。
http://www.scala-lang.org/docu/files /collections-api/collections_1.html
I hope that this article may be of some use to you. The diagram at the bottom of the page is particularly useful in providing the mutable and immutable classes.
http://www.scala-lang.org/docu/files/collections-api/collections_1.html
有一个可变的
List
,但它被称为缓冲区
。格雷厄姆链接的文章更深入,但我认为这个问题也应该有一个具体的答案。There is a mutable
List
, but it is calledBuffer
. The article linked by Graham goes into more depth, but I thought there should be a specific answer to the question as well.Map
是一个trait
—— 就像 Java 的interface
——,而List
是一个class,
Seq
的具体实现。有可变和不可变的Seq
,就像Map
一样。这可能会让 Java 程序员感到困惑,因为在 Java 中,
List
是一个接口
,其(主要)实现是ArrayList
和LinkedList
。唉,Java 的命名实在是太糟糕了。首先,无论怎么想,ArrayList
都不是List
。此外,该接口具有与任何传统列表并不真正相关的方法。因此,如果您想要可变/不可变等价,请查看
Seq
的具体子类实现。Map
is atrait
-- like Java'sinterface
--, whileList
is aclass
, a concrete implementation of aSeq
. There are mutable and immutableSeq
, just like forMap
.This may be confusing to Java programmers because, in Java,
List
is aninterface
, whose (main) implementations areArrayList
andLinkedList
. Alas, Java naming is atrocious. First,ArrayList
is not aList
by any stretch of imagination. Also, the interface has methods that are not really related to any traditional list.So, if you want mutable/immutable equivalence, look to concrete subclass implementations of
Seq
.